|
1
9
这些方法工作正常,您只需考虑 消除混叠和舍入 . 首先,启用“抗锯齿”(anti-aliasing)以查看所有内容(而不仅仅是取整的结果):
现在FillRectangle(10,10,10,10)将产生模糊的结果,DrawRectangle(10,10,10,10)将是尖锐的。 模糊的结果意味着 . 如果您需要打电话:
对齐网格上矩形的左上角。
仅圆坐标 ,因为最小单位是1像素。在使用使用抗锯齿的GDI+时,请注意点的大小为零并且不存在 在像素中心 (不是整个像素)。 |
|
2
1
问题中两种图形方法中的矩形都以
在计算两点的宽度和高度时,请记住将原点像素与差加1。 例如,假设要填充从点(5,5)到点(10,20)的矩形。矩形的宽度是6,而不是5。矩形的高度是16,而不是15。 |
|
|
3
-2
行为上的差异是由于这两种算法所做的事情完全不同,这有点违反直觉。 DrawRectangle以长方体的形状绘制四条线。FillRectangle生成一个W*H的填充像素束。从这一点很容易看出行为差异的原因。即相似性假设的错误性。绘制四条线与生成一个长方体像素团有很大的不同。 |
|
|
F.Fipoo · 如何将屏幕截图写入PNG? 8 年前 |
|
|
DonBoitnott · 将图标转换为Png 9 年前 |
|
|
techno · 调整图像大小保持纵横比白线边框 10 年前 |
|
|
Ian Boyd · 如何将GDI+位图放置到剪贴板上? 10 年前 |
|
|
wenz · 查找点是否位于DrawBezier函数创建的Bezier线上 10 年前 |
|
|
Vadims Samsinovs · 重绘图像的最有效方法 12 年前 |
|
|
DanyR · 如何在gdi中正确绘制地图坐标+ 12 年前 |