android bitmap(图片)旋转90度
16lz
2021-01-23
*
* @param bitmap
* @param orientationDegree 0 - 360 范围
* @return
*/
Bitmap adjustPhotoRotation(Bitmap bitmap, int orientationDegree) {
Matrix matrix = new Matrix();
matrix.setRotate(orientationDegree, (float) bitmap.getWidth() / 2,
(float) bitmap.getHeight() / 2);
float targetX, targetY;
if (orientationDegree == 90) {
targetX = bitmap.getHeight();
targetY = 0;
} else {
targetX = bitmap.getHeight();
targetY = bitmap.getWidth();
}
final float[] values = new float[9];
matrix.getValues(values);
float x1 = values[Matrix.MTRANS_X];
float y1 = values[Matrix.MTRANS_Y];
matrix.postTranslate(targetX - x1, targetY - y1);
Bitmap canvasBitmap = Bitmap.createBitmap(bitmap.getHeight(), bitmap.getWidth(),
Bitmap.Config.ARGB_8888);
Paint paint = new Paint();
Canvas canvas = new Canvas(canvasBitmap);
canvas.drawBitmap(bitmap, matrix, paint);
return canvasBitmap;
}
在bitmap.setbitmap()之前调用。
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer