对于 Android 专家来说,这可能是一个简单的问题。我正在尝试通过 Canvas 绘制到位图中。我想要精确的颜色、无抗锯齿和位于位图中精确绝对坐标的线条。有时线条位于正确的位置,有时它们偏移 1 个像素。我觉得这与缩放有关。但我不确定。这是代码:
Paint mPaint = new Paint();
mPaint.setColor(Paint.WHITE);
mPaint.setStrokeWidth(0);
mPaint.setAntiAlias(false);
mPaint.setDither(false);
mPaint.setStyle(Paint.Style.STROKE);
drawingContext.mycanvas.drawLine(20, 0, 10, 10, mPaint);
这实际上画了一条从 (19,0) 到 (10,9) 的线。为什么?
最佳答案
我来回答。我不得不放弃这个并编写一个 Bresenham 算法,一个一个地设置像素。这对我正在做的事情很有效。我怀疑在从左到右、从下到上绘制线条时存在 drawLine 错误。
关于android - 为什么 drawLine 偏移 1 个像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923510/