我在使用matrix对bitmap进行旋转的时候,图片到旋转成功了,但是空白区域是黑色的,要如何才能设置成透明色?
使用中发现JPG文件的图片出现以上情况,PNG旋转后空白区域是透明的。尝试在android端通过bitmap.compress将JPG转换成PNG在进行旋转,空白区域还是黑色的。
目前使用的方法是先通过decodeFromFile从文件获取bitmap,然后通过算法先计算出旋转后的图片尺寸,按新的尺寸新建一个bitmap。通过canvas绘制旋转后的图片。这样可以实现空白区域透明化,但是一旦图片尺寸过大或者旋转角度大了,就容易内存溢出!
求问该如何解决!
以下是我直接对bitmap进行matrix旋转代码
BitmapFactory.Options tempOpts = new BitmapFactory.Options();
tempOpts.inPurgeable = true;
final Bitmap bitmap = BitmapFactory.decodeStream(in, null, tempOpts);
Matrix matrix = new Matrix();
matrix.postRotate(45);
Bitmap bitmap1 = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);