【发布时间】:2013-01-01 23:29:44
【问题描述】:
我正在尝试在 android 中绘制一条非常细的线(小于一个像素厚)。我正在使用
Paint blackThin = new Paint();
blackThin.setStrokeWidth(0.1f);
blackThin.setColor(Color.BLACK);
初始化绘画对象。
这在 Android 2.2 中运行良好,但是当我在 4.2 中尝试时(我想也是 4.1,我曾简单地测试过它——我没有测试除 2.2、4.1.2 和 4.2 之外的任何其他版本)当我画它们时不会出现。为了让它们出现在 4.2 中,似乎我必须将抗锯齿标志设置为 true。 (我试过了,线条出现了。)但我真的不想要那样,因为这会模糊线条等。
这是 Android 中的错误吗?除了打开抗锯齿之外,我还能做些什么让它工作?
编辑:我也用 0.9 的像素大小对此进行了测试,问题是一样的。
感谢您的帮助!
【问题讨论】:
-
如果没有抗锯齿,0.1 像素粗的线条会是什么样子?
-
在 2.2 版中,它工作正常。这只是一条非常细的线。顺便说一句,0.9 和 0.1 有同样的问题。
-
更有可能:在 2.2 中它意外工作。可以绘制的最小的东西是单个像素,为什么您期望绘制的东西小于那个?
标签: android canvas paint antialiasing stroke