アプリケーションで1つの画像ビットマップのサイズを変更すると、画質が低下するという問題があります。
サイズ変更のコードは次のとおりです。
public Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
Bitmap scaledBitmap = Bitmap.createBitmap(newWidth, newHeight,
Config.ARGB_8888);
float ratioX = newWidth / (float) bm.getWidth();
float ratioY = newHeight / (float) bm.getHeight();
float middleX = newWidth / 2.0f;
float middleY = newHeight / 2.0f;
Matrix scaleMatrix = new Matrix();
scaleMatrix.postScale(ratioX, ratioY, middleX, middleY);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
Canvas canvas = new Canvas(scaledBitmap);
canvas.setMatrix(scaleMatrix);
canvas.drawBitmap(bm, middleX - bm.getWidth() / 2,
middleY - bm.getHeight() / 2, paint);
return scaledBitmap;
}
ビットマップのサイズを変更するための良い解決策はありますか?