目次
Bitmap画像の回転のサンプルコード
まずはkotlin。
fun rotateBitmap(bitmap: Bitmap, rotation: Int): Bitmap {
val matrix = Matrix()
matrix.postRotate(rotation.toFloat())
return Bitmap.createBitmap(
bitmap,
0,
0,
bitmap.width,
bitmap.height,
matrix,
true
)
}
次はjava。
Bitmap rotateBitmap(Bitmap bitmap, int rotation) {
Matrix matrix = new Matrix();
matrix.postRotate((float) rotation);
return Bitmap.createBitmap(
bitmap,
0,
0,
bitmap.getWidth(),
bitmap.getHeight(),
matrix,
true
);
}
Bitmap画像の中央切り抜きのサンプルコード
横長なら、横の長さを縦の長さに合わせるといった感じのサンプルコード。
まずはkotlin。
fun centerCropBitmap(bitmap: Bitmap): Bitmap {
if (bitmap.width == bitmap.height) {
return bitmap
}
if (bitmap.width > bitmap.height) {
val leftOffset = (bitmap.width - bitmap.height) / 2
return Bitmap.createBitmap(
bitmap,
leftOffset,
0,
bitmap.height,
bitmap.height,
null,
true
)
}
val topOffset = (bitmap.height - bitmap.width) / 2
return Bitmap.createBitmap(
bitmap,
0,
topOffset,
bitmap.width,
bitmap.width,
null,
true
)
}
つぎはjava。
Bitmap centerCropBitmap(Bitmap bitmap) {
if (bitmap.getWidth() == bitmap.getHeight()) {
return bitmap;
}
if (bitmap.getWidth() > bitmap.getHeight()) {
int leftOffset = (bitmap.getWidth() - bitmap.getHeight()) / 2;
return Bitmap.createBitmap(
bitmap,
leftOffset,
0,
bitmap.getHeight(),
bitmap.getHeight(),
null,
true
);
}
int topOffset = (bitmap.getHeight() - bitmap.getWidth()) / 2;
return Bitmap.createBitmap(
bitmap,
0,
topOffset,
bitmap.getWidth(),
bitmap.getWidth(),
null,
true
);
}