【发布时间】:2015-06-09 06:14:15
【问题描述】:
我确实不希望系统尝试缩放我的绘图,我想完全由我自己完成,因为任何挤压/拉伸图形的尝试都会产生丑陋的结果。问题是随着图像变大,我想添加更多细节,而不是简单地放大。
现在我正在查看两组条纹。一种是黑/白,另一种是黑/白/白。笔宽设置为 1。
当线条水平绘制时,它是正确的。绘制垂直线的相同逻辑似乎正在做一些抗锯齿,将黑色渗透到附近的白色上。黑/白/白看起来不如横版,黑/白看起来更像中++灰/中--灰。
相同的代码在所有情况下都生成坐标,转换逻辑只是选择要应用的偏移量,因为我只支持基数上的方向。由于不涉及浮点数,因此我无法查看精度问题。
如何让系统不理会我的图形???
(是的,我意识到这不适用于高分辨率,最终我将不得不放大线条。在任何合理的屏幕缩放系数上,这都无关紧要,对于打印机使用,我将拥有玩它,看看我需要在哪里缩放。基本问题是我试图把东西塞进太少的像素,而不仅仅是制作斑点。)
编辑:没有进行缩放。我正在生成目标窗口的确切大小的位图。所有线都在整数坐标处绘制。将 SmoothingMode 设置为 None 的建议改变了这种情况:现在黑色/白色/白色绘制为非常清晰的灰色/灰色/白色,黑色/白色绘制为纯灰色框。现在已经清理干净了,我可以看到一些本来应该是黑色的单独垂直线实际上正在做与 2 像素灰色条相同的绘制操作。就像我所有的垂直线都偏离了 1/2 像素——但每个绘图命令都只得到整数。
再次编辑:我已经了解了有关该问题的更多信息。图像被正确绘制,但在显示到屏幕时被丢弃。 (将其保存到磁盘并在同一台显示器上查看显示它绘制正确。)
【问题讨论】: