gpt4 book ai didi

android - 在 Android 4.2 中绘制小​​于一个像素粗的线条需要抗锯齿

转载 作者:太空狗 更新时间:2023-10-29 16:21:16 26 4
gpt4 key购买 nike

我试图在 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 的像素大小进行了测试,问题是一样的。

感谢您的帮助!

最佳答案

如果你想要一条很细的线,使用setStrokeWidth(0),作为documentation在细线模式下将 0 传递给 stroke。

子像素绘图显然需要抗锯齿或其他解决方法。很有可能例如使用软件渲染,低于一个像素的线条总是绘制为细线,但使用硬件渲染(可能在 Android 4.2 中自动使用,但在 2.2 中不使用),行为发生变化,许多方便的功能消失。 (顺便说一句,这通常是绘制差异和奇怪故障的原因。)

关于android - 在 Android 4.2 中绘制小​​于一个像素粗的线条需要抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com