2015-07-16 5 views
1

Как сделать rotateBitmap 45 градусов?Как повернуть растровое изображение 45 градусов

Matrix matrix = new Matrix(); 
matrix.postRotate(degrees); 
mBitmapFirst = Bitmap.createBitmap(mBitmapFirst, 0, 0, mBitmapFirst.getWidth(), mBitmapFirst.getHeight()); 
mImageFirstView.setImageBitmap(mBitmapFirst); 

Я использовал этот метод, но он работает только тогда, когда

ответ

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

Вот link , где использование также позволило экономить память, сохраняя необходимость создания нового растрового изображения каждый раз

Смежные вопросы