【发布时间】:2015-08-11 13:53:09
【问题描述】:
尝试使用 android Canvas 在同一位置多次绘制时出现抗锯齿问题。
首先我初始化paint = new Paint(Paint.ANTI_ALIAS_FLAG),然后将笔画上限设置为Paint.Cap.ROUND。
然后,如果我调用canvas.drawPoint(x, y, paint) 一次会导致以下结果:
多次调用canvas.drawPoint(x, y, paint)(本例中为 100)会导致:
我用最少的代码创建了一个示例来在 GitHub 上运行它:android-canvas-antialias
我注意到,如果我以一定距离绘制点,抗锯齿似乎可以按预期工作(第一张图片)。但是以很少的偏移量绘制它会导致相同的抗锯齿问题(第二张图片)。
在同一位置绘制点时,是否需要进行任何设置才能使其正常工作?或者我可能根本不在同一个地方(或偏移量很小)?
编辑:真正的问题是因为我正在尝试绘制宽度可变的线段。请参阅 git 存储库上的 MainActivity.drawSegment。
【问题讨论】:
标签: android canvas antialiasing