ASP.NET 画图与图像处理-关于 Rectangle 和 Path 边框问题

作者:vkvi 来源:千一网络(原创) 日期:2007-8-30

它们虽然无边框,但在调用 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 有点交错,但不完全重合也不完全分离。

你前面那位网友看了:apk 下载下来后成了 zip

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
赞助商们
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他