android实现图片旋转
2016-05-30 15:13
357 查看
根据给定的源图片以及需要旋转的任意角度执行图片旋转变换。
/* * * @Title: bitmapRotation * @Description: 图片旋转 * @param bm * @param orientationDegree * @return Bitmap * @throws */ public Bitmap bitmapRotation(Bitmap bm, final int orientationDegree) { Matrix m = new Matrix(); m.setRotate(orientationDegree, (float) bm.getWidth() / 2, (float) bm.getHeight() / 2); float targetX, targetY; if (orientationDegree == 90) { targetX = bm.getHeight(); targetY = 0; } else if (orientationDegree == 270) { targetX = 0; targetY = bm.getWidth(); } else { targetX = bm.getHeight(); targetY = bm.getWidth(); } final float[] values = new float[9]; m.getValues(values); float x1 = values[Matrix.MTRANS_X]; float y1 = values[Matrix.MTRANS_Y]; m.postTranslate(targetX - x1, targetY - y1); Bitmap bm1 = Bitmap.createBitmap(bm.getHeight(), bm.getWidth(), Bitmap.Config.ARGB_8888); Paint paint = new Paint(); Canvas canvas = new Canvas(bm1); canvas.drawBitmap(bm, m, paint); return bm1; }
相关文章推荐
- Android Studio Gradle打包实践之多渠道+版本号管理
- Android开发学习之路-Android6.0运行时权限
- android_事件分发相关,看这两篇文章,就足够
- RecyclerView简单使用
- AndroidSlidingUpPanel简析
- 为什么在Android Studio中找不到Subversion
- Android图片剪裁-调用系统实现,完美适配魅族等机型
- 【转】开发者教程:如何将Android应用发布到Google Play(Android Market)官方市场
- Android APP 登录 注册 SAE 部署 - [0]
- 关于notification的使用,setLatestEventInfo方法在新SDK不能使用的解决方法
- Android应用关闭,重启
- Android项目启动时短暂的黑屏白屏处理
- [Android]ListView的Adapter.getView()方法中延迟加载图片的优化
- Android : assets与res/raw资源目录的区别
- Android中Annotation使用
- Android 经典知识集锦
- Android自定义进度条颜色
- Android监听软键盘的显示与隐藏
- Android Studio中AAPT err: libpng error: Not a PNG file错误
- Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解