如何rotate
Bitmap
45度?
Matrix matrix = new Matrix();
matrix.postRotate(degrees);
mBitmapFirst = Bitmap.createBitmap(mBitmapFirst, 0, 0, mBitmapFirst.getWidth(), mBitmapFirst.getHeight());
mImageFirstView.setImageBitmap(mBitmapFirst);
我使用了这种方法,但仅在rotation
90 degrees
答案 0 :(得分:2)
您可以使用此示例旋转到45度:
Matrix minMatrix = new Matrix();
//height and width are set earlier.
Bitmap minBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas minCanvas = new Canvas(minBitmap);
int minwidth = bitmapMin.getWidth();
int minheight = bitmapMin.getHeight();
int centrex = minwidth/2;
int centrey = minheight/2;
minMatrix.setRotate(mindegrees, centrex, centrey);
Bitmap newmin = Bitmap.createBitmap(minBitmap, 0, 0, (int) minwidth, (int) minheight, minMatrix, true);
minCanvas.drawBitmap(newmin, (centrex - newmin.getWidth()/2), (centrey - newmin.getHeight()/2), null);
minCanvas.setBitmap(minBitmap);
其中mindegree是你的轮换度,
希望我帮助你
答案 1 :(得分:1)
这是link 通过节省每次创建新位图的需要,使用也实现了内存节省