1

Android キャンバス描画コマンドの使用:

ストローク = 0 またはストローク =1 を設定して水平線を描画すると、線のピクセルの高さは 2 ピクセルになります。ストローク = 2 を設定すると、ピクセルの高さも 2 ピクセルになりますが、より明るくなります。

単一のピクセルを描画する場合、ピクセルはストローク = 0 またはストローク = 1 の 2x2 マトリックスです。ストローク = 2 の場合、2x2 マトリックスも取得しますが、ピクセルはより明るくなります。

高さが 1 ピクセルしかない線を取得するにはどうすればよいですか? 唯一無二のピクセルを取得するにはどうすればよいですか?

注: 使用しているデバイスの画面サイズは 480 x 800 以上です。

Paint thePaint = new Paint();                   
thePaint.setARGB(a, r, g, b);                           
thePaint.setAntiAlias(true);
thePaint.setStyle(Paint.Style.FILL );
thePaint.setStrokeWidth(0);
canvas.drawLine(x1,y1,x2,y2, thePaint);
4

2 に答える 2

3

この問題について、The Roman Guy @Google と連絡を取りました。彼は、ストローク = 0 を設定することに加えて、アンチエイリアスをオフにする必要があると述べました。私のテストでは、彼が正しいことが示されました。現在、Google のドキュメントにはこの要件が反映されていません。このコードは機能します。

Paint thePaint = new Paint();                   
thePaint.setARGB(a, r, g, b);                           
thePaint.setAntiAlias(false);
thePaint.setStyle(Paint.Style.STROKE );
thePaint.setStrokeWidth(0);
canvas.drawLine(x1,y1,x2,y2, thePaint);
于 2012-07-27T00:04:03.940 に答える
0

ラインを交換する必要があるようです

thePaint.setStyle(Paint.Style.FILL);

代わりにこれで:

thePaint.setStyle(Paint.Style.STROKE);
于 2012-07-24T12:21:07.487 に答える