私のアプリには、ユーザーが写真をキャプチャし、その写真に描画を追加できる機能があります。
すべての写真のサイズが正確に変更されます900 x 900
。ユーザーが画像に描画を追加できるようにします。透明な画像の上にtransparent image
重ねて描画します。original image
描画は を使用して行われcanvas
ます。
720 x 480
ただし、 (高さ×幅)を持つデバイスで描画する場合。900 x 900
透明な画像を作成してから まで線を引く0,0
と900,900
、キャンバスは から までの線のみを描画0,0
し480,480
ます。
以下は、コードのそれぞれの部分です。
キャンバスの準備:
holder = getHolder();
if (holder.getSurface().isValid()) {
Canvas canvas = holder.lockCanvas();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
/* original image is 900 x 900 */
overlayBitmap = Bitmap.createBitmap(originalImage.getWidth(), originalImage.getHeight(), originalImage.getConfig());
canvas.setBitmap(overlayBitmap);
}
描画線:
canvas.drawLine(0, 0, 900, 900, paint);
なぜこの問題が発生しているのかわかりません。canvas
??を使用しているためです。回避策はありますか?どんな助けでも大歓迎です:-)