Translate Into English Coffee & Tea
ASP.NET 中的 AJAX ASP.NET 画图全接触 ASP.NET 与 XML 声明式数据绑定 ASP.NET 网页抓取
C# 基础 C# 类教程 C# 加密 ASP.NET 成员资格 非“自动化”处理 Excel
QuickAjax Ajax 完美的语法高亮器 Silverlight Popfly
ASP.NET 画图与图像处理-关于 Rectangle 和 Path 边框问题
免费注册联想 5G 网盘

它们虽然无边框,但在调用 Draw 和 Fill 方法时需要注意:

先说 Rectangle

假如一个 Rectangle 为 (1, 1, 2, 2),即起始位置为 (1, 1),宽度和高度都为 2。

Rectangle rect = new Rectangle(1, 1, 2, 2);
_graphics.FillRectangle(new SolidBrush(Color.Red), rect);
  • 填充之后,效果为:(1, 1)、(1, 2)、(2, 1)、(2, 2) 这四个像素点,即矩形所覆盖的像素点都成了红色。
  • 而如果是 DrawRectangle 呢?DrawRectangle 是画矩形的边框,上边框和左边框都是矩形的内边缘,即与 FillRectangle 的上方和左方重合,而下边框和右边框是矩形的外边缘,即比 FillRectangle 的下方和右方往外一个像素。

再说 Path

而 Path 和 Rectangle 恰好相反,如果有一个 Path,由四条线围成一个矩形。

  • 那么 DrawPath 就是这四条线所在的位置。
  • 而 FillPath 的上方和左方分别和 DrawPath 的上边框和左边框重合,但下方和右方要比 DrawPath 的下边框和右边框往内一个像素。

如果 Path 并不是矩形,而是不规则形状,特别是对于斜线、弧度这些部分,那 FillPath 是怎样呢?并没有拿到这方面的资料,不过据初步来看,似乎是与 DrawPath 有点交错,但不完全重合也不完全分离。

文章评论
标题:必填
内容:
文章信息