为什么drawLine偏移1个像素?

时间:2012-06-06 23:02:17

标签: android canvas bitmap paint

对于Android专家来说,这可能很容易。我试图通过画布绘制到位图。我想要精确的颜色,没有抗锯齿,以及位于Bitmap中精确绝对坐标的线条。有时线条处于正确位置,有时它们偏移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)的线。为什么呢?

1 个答案:

答案 0 :(得分:1)

我会回答。我不得不放弃这个并写一个Bresenham算法,逐个设置像素。这对我正在做的事情很有效。我怀疑从左到右,从下到上绘制线条时会出现drawLine错误。

相关问题