图像旋转时,旋转后的图像和旋转之前的图像不一样。
我使用了两种方法对图像进行处理。为什么旋转后的图片不全?是因为旋转中心的问题?还是旋转后图像大小的问题?
我应该怎么修改下面代码,使图像旋转后的结果更加准确。
这个是拍摄的原图
方法一对图像进行旋转处理
Bitmap bitmap=LeftFragment.bitmap;
Mat dest=new Mat();
Mat mat = CommonImage.bitmapToMat(bitmap);
Mat rotationMatrix2D = Imgproc.getRotationMatrix2D(new Point(mat.cols() / 2, mat.rows() / 2), 90, 1);
Imgproc.warpAffine(mat,dest,rotationMatrix2D,mat.size());
处理后的图片
方法二对图像进行旋转处理
```java
Bitmap bitmap=LeftFragment.bitmap;
int width = bitmap.getWidth();
int height = bitmap.getHeight();
Matrix matrix = new Matrix();
matrix.postRotate(90);
Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
处理后的图片
随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有65535,应用之间的互相调用等等问题,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个g那么大。
所以,当今的Android移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。
Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,只有将掌握这些Android第三方框架,并对其特性和实现原理有一定的了解,相信你离字节跳动面试跟进了一步!
需要高级Android组件化、插件化强化实战手册的,点击我 即可获取资料免费领取方式!
很明显你显示图片的承载容器的问题(你可以旋转之后打印输出图片的信息的,建议检查ImageView的ScaleType等),Bitmap处理建议直接使用Matrix