4

これはおそらく、Android の専門家にとっては簡単なことです。キャンバス経由でビットマップに描画しようとしています。正確な色、アンチエイリアシングなし、およびビットマップ内の正確な絶対座標にある線が必要です。線が正しい位置にある場合もあれば、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) に線を引きます。なんで?

4

1 に答える 1

1

答えます。私はこれをあきらめて、ピクセルを 1 つずつ設定する Bresenham アルゴリズムを作成する必要がありました。それは私がやっていることには問題ありません。左から右、下から上の線を描くときに drawLine バグが疑われます。

于 2012-06-07T23:55:16.893 に答える