画像のサイズを変更したいのですが、次のコードで実行しています。
public Bitmap createWatermark(Bitmap src, String watermark, int x, int y) {
Log.d("Original Dimensions", src.getWidth() + " x " + src.getHeight());
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
src.compress(Bitmap.CompressFormat.JPEG, 30, stream);
byte[] byte_arr = stream.toByteArray();
Bitmap result = BitmapFactory.decodeByteArray(byte_arr, 0, byte_arr.length, options).copy(Bitmap.Config.ARGB_8888, true);
Log.d("Result Dimensions", result.getWidth() + " x " + result.getHeight());
Canvas canvas = new Canvas(result);
canvas.drawBitmap(src, 0, 0, null);
Paint paint = new Paint();
paint.setColor(Color.YELLOW);
paint.setTextSize(40);
canvas.drawText(watermark, x, y, paint);
paint.setColor(Color.BLACK);
canvas.drawText(watermark, x, y+50, paint);
return result;
}
ログは次のとおりです。
D/原寸(11180):1920×2560
D/結果の寸法 (11180): 960 x 1280
ただし、返される画像は 960 x 1280 にトリミングされ、サイズは変更されません。