android图像处理系列之二--图片旋转、缩放、反转
2011-12-14 23:57
686 查看
转自:http://blog.csdn.net/maylian7700/article/details/7071837
注意是反转,不是翻转。贴图:
原图:
处理后:
下面看代码:
注意是反转,不是翻转。贴图:
原图:
处理后:
下面看代码:
package com.jacp.image.util; import android.graphics.Bitmap; import android.graphics.Matrix; /** * 图片处理 * * @author maylian7700@126.com * */ public class ImageHandler { /** * 图片旋转 * * @param bmp * 要旋转的图片 * @param degree * 图片旋转的角度,负值为逆时针旋转,正值为顺时针旋转 * @return */ public static Bitmap rotateBitmap(Bitmap bmp, float degree) { Matrix matrix = new Matrix(); matrix.postRotate(degree); return Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true); } /** * 图片缩放 * * @param bm * @param scale * 值小于则为缩小,否则为放大 * @return */ public static Bitmap resizeBitmap(Bitmap bm, float scale) { Matrix matrix = new Matrix(); matrix.postScale(scale, scale); return Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true); } /** * 图片缩放 * * @param bm * @param w * 缩小或放大成的宽 * @param h * 缩小或放大成的高 * @return */ public static Bitmap resizeBitmap(Bitmap bm, int w, int h) { Bitmap BitmapOrg = bm; int width = BitmapOrg.getWidth(); int height = BitmapOrg.getHeight(); float scaleWidth = ((float) w) / width; float scaleHeight = ((float) h) / height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); return Bitmap.createBitmap(BitmapOrg, 0, 0, width, height, matrix, true); } /** * 图片反转 * * @param bm * @param flag * 0为水平反转,1为垂直反转 * @return */ public static Bitmap reverseBitmap(Bitmap bmp, int flag) { float[] floats = null; switch (flag) { case 0: // 水平反转 floats = new float[] { -1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f }; break; case 1: // 垂直反转 floats = new float[] { 1f, 0f, 0f, 0f, -1f, 0f, 0f, 0f, 1f }; break; } if (floats != null) { Matrix matrix = new Matrix(); matrix.setValues(floats); return Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true); } return null; } }
相关文章推荐
- android开发步步为营之83:android图片处理技术之二(通过Matrix移动缩放旋转错切)
- android图像处理系列之六--给图片添加边框(下)-图片叠加
- Android 多点触控,多张图片拖拽,缩放,旋转
- android图像处理系列之三-- 图片色调饱和度、色相、亮度处理
- Android之UI学习篇六:ImageView实现图片旋转和缩放
- Android 利用Matrix实现图片随手指平移、旋转、缩放
- Android动画及图片的缩放和旋转
- Android实现图片缩放与旋转
- Android图片旋转,缩放,位移,倾斜,对称完整演示样例(一)——imageView.setImageMatrix(matrix)和Matrix
- 在Android中实现图片缩放和旋转
- android图像处理系列之五--给图片添加边框(中)
- Android 图片旋转,缩放,切割,叠加处理
- android图像处理系列之七--图片涂鸦,水印-图片叠加
- android图像处理系列之四-- 给图片添加边框(上)
- Android单点触控技术,对图片进行平移,缩放,旋转操作
- Android自定义ImageView实现图片缩放滑动,双击放大缩小,多点触控旋转,圆角矩形,圆形和仿刮刮卡效果
- android单手指控制图片的缩放及旋转
- Android之UI学习篇六:ImageView实现图片旋转和缩放
- Android 图片处理之-->android.graphics.Camera实现图像的旋转、缩放
- Android matrix 控制图片的旋转、缩放、移动