Eu tenho um bitmap da câmera, depois de redimensionar, mudar para horizontal, eu preciso girar 90 graus, mas a maioria dos a amostra use Matrix para girar, mas quando eu novo Matrix, ele disse que a matriz está obsoleta, do que eu tento usar a CANVAS, seguindo esta , pela primeira vez para usá-lo, tentando descobrir isso, mas não pode girá-lo, app falhar, ajuda por favor
código
resizePhoto = BitmapFactory.decodeFile(imageLocation,bmOption);
// R o t a t e B i t m a p 90 degree
Canvas canvas = new Canvas(resizePhoto);
canvas.rotate(90);
canvas.drawBitmap(resizePhoto , null ,null);
Respostas:
1 para resposta № 1Matrix matrix = new Matrix();
matrix.setRotate(angle, imageCenterX, imageCenterY);
yourCanvas.drawBitmap(yourBitmap, matrix, null);
0 para resposta № 2
Você pode querer rodar usando uma matriz passada para Bitmap.createBitmap. Deve ser mais rápido do que usar um Canvas.
Matrix matrix = new Matrix();
matrix.setRotate(angle);
Bitmap resizePhoto = BitmapFactory.decodeFile(imageLocation, bmOption);
Bitmap rotatedPhoto = Bitmap.createBitmap(resizePhoto, 0, 0,
resizePhoto.getWidth(), resizePhoto.getHeight(), matrix, true);
resizePhoto.recycle();
Você pode precisar trocar o getWidth()
e getHeight()
em torno de uma rotação exata de 90 graus. Eu esqueço.