如何使用Matrix对bitmap的旋转与镜像水平垂直翻转
2017-12-14 09:47
1606 查看
本篇文章是对使用Matrix对bitmap的旋转与镜像水平垂直翻转进行了详细的分析介绍,需要的朋友参考下
实例:
Bitmap convert(Bitmap a, int width, int height) { int w = a.getWidth(); int h = a.getHeight(); Bitmap newb = Bitmap.createBitmap(ww, wh, Config.ARGB_8888);// 创建一个新的和SRC长度宽度一样的位图 Canvas cv = new Canvas(newb); Matrix m = new Matrix(); m.postScale(1, -1); //镜像垂直翻转 m.postScale(-1, 1); //镜像水平翻转 m.postRotate(-90); //旋转-90度 Bitmap new2 = Bitmap.createBitmap(a, 0, 0, w, h, m, true); cv.drawBitmap(new2, new Rect(0, 0, new2.getWidth(), new2.getHeight()),new Rect(0, 0, ww, wh), null); return newb; }
实例:
private Bitmap mFaceBitmap;
Bitmap mCacheBitmap = null;
mFaceBitmap = convert(mCacheBitmap);
public static Bitmap convert(Bitmap a) { int w = a.getWidth(); int h = a.getHeight(); // Bitmap newb = Bitmap.createBitmap(w, h, Config.ARGB_8888);// 创建一个新的和SRC长度宽度一样的位图 // Canvas cv = new Canvas(newb); Matrix m = new Matrix(); // m.postScale(1, -1); //镜像垂直翻转 if (Common.ismirror) { m.postScale(-1, 1); // 镜像水平翻转 } m.postRotate(Common.realAngle); // 旋转-90度 Bitmap new2 = Bitmap.createBitmap(a, 0, 0, w, h, m, true); // cv.drawBitmap(new2, new Rect(0, 0, new2.getWidth(), new2.getHeight()), // new Rect(0, 0, w, h), null); return new2; }
相关文章推荐
- 如何使用Matrix对bitmap的旋转与镜像水平垂直翻转
- 如何使用Matrix对bitmap的旋转与镜像水平垂直翻转
- 如何使用Matrix对bitmap的旋转与镜像水平垂直翻转
- 使用Matrix对bitmap的旋转和镜像水平垂直翻转
- Altium Designer原理图中如何垂直、水平镜像翻转元件
- 图片镜像水平翻转,垂直翻转以及顺时针,逆时针旋转
- 如何使用Matrix对象旋转和缩放图像
- Swing之图片水平翻转、垂直翻转、180度旋转
- 代码翻转bitmap图。水平翻转,垂直翻转。
- 旋转、水平翻转、垂直翻转
- HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中
- css3背景图水平垂直顺时针逆时针翻转旋转
- Altium Designer13原理图中元件垂直、水平镜像翻转
- 对Bitmap 进行水平或者垂直的镜面翻转
- HTML-移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中
- 用OpenCV实现图像的水平镜像(翻转)变换和竖直镜像(翻转)变换(垂直镜像变换)的源码
- 【自用】Android | Bitmap的水平&垂直翻转
- yuv图片旋转180度,镜像水平翻转
- 顺时针或逆时针旋转180度等于先作一个水平镜像,再作一个垂直镜像!
- 初识matlab及图像处理之图片平移、旋转、水平镜像、垂直镜像、放大、缩小 (1)