サーフェス ビューでビットマップのサイズをゆっくりと変更したい (ビットマップをズームするように)。幅と高さの標準的な増加値を設定すると、より大きな画像が表示されます.onDrawメソッドで以下に示すように
can.drawBitmap(gball, lastVisitedX, lastVisitedY, paint);
gball = getResizedBitmap(gball, bitmapInitHeight
+ bitmapInitHeight, bitmapInitHeight + bitmapInitHeight);
public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
int width = bm.getWidth();
int height = bm.getHeight();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height,
matrix, false);
return resizedBitmap;
}
しかし、次のように高さと幅を増やしてサイズを変更しようとすると
can.drawBitmap(gball, lastVisitedX, lastVisitedY, paint);
gball = getResizedBitmap(gball, bitmapInitHeight
+ zoomXValue, bitmapInitHeight + zoomYValue);
zoomXValue= zoomXValue+5;
zoomYValue= zoomYValue+5;
onDraw メソッドでは、ビットマップのサイズが変更され、品質が低下します。
最後に私の質問は、品質を損なうことなくズームアウトのようにスケーリングする方法です。
前もって感謝します。