2 jonskeet JonSkeet 于 2013.05.22 15:43 提问

android中旋转图像的问题

我遇见了关于旋转图像的问题
下面的代码运行正常:

Matrix matrix = new Matrix();
matrix.postRotate(DEGREE,mBitmap.getWidth() / 2, mBitmap.getHeight() / 2);
Bitmap m = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap.getWidth(),mBitmap.getHeight(), matrix, true);
canvas.drawBitmap(m, mX, mY, null);

我不想总是重复创建一个新的bitmap,所以用的下面的代码:

Matrix matrix = new Matrix();
matrix.postTranslate(mX, mY);
matrix.postRotate(DEGREE,mBitmap.getWidth() / 2, mBitmap.getHeight() / 2);
canvas.drawBitmap(mBitmap, matrix, null);

在这种情况下图像在视图中就不可见。

1个回答

luhuajcdd
luhuajcdd   2013.05.22 16:07
matrix.postRotate(DEGREE,mBitmap.getWidth() / 2, mBitmap.getHeight() / 2);

这句里面的mBitmap 回收了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
OpenCV4Android中的图像旋转另一方法
除了之前在OpenCV4Android中图像预览旋转90度的问题中提高的的CameraBridgeViewBase中的deliverAndDrawFrame修改的方法之外,还可以这样做: 修改在MainActivity中的预览函数@Override public Mat onCameraFrame(CvCameraViewFrame inputFrame) { // TODO Au
OpenCV4Android中图像预览旋转90度的问题
在将OpenCV4Android导入到Android项目之后,可以使用JavaCameraView控件调用相机,但是显示预览时,可能出现图像旋转了90度的情况。 在网上找到几种办法,都是修改OpenCV4Android中的CameraBridgeViewBase中的deliverAndDrawFrame方法,分别试了一下: 1、Android开发使用OpenCv中JavaCameraView预
使用Camera类, 旋转90预览图像的问题
今天尝试用Camera对象获取摄像头拍照,预览时候发现图片逆时针旋转90度。 解决方法: 一、 原来Camera对象假定方向是水平或者横向模式,旋转修正最简单的方法是以横向模式显示,可以在Activity的onCreate方法中添加y一行代码。 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Android OpenCV 旋转图像
android opencv的图像旋转方法
android camera onPreviewFrame后生成角度错误的图像后纠正方法
核心方法: 1.将public void onPreviewFrame(byte[] data, Camera camera)中data[]转为bitmap,此方法是博主目前发现转换速度最快的方法: if (yuvType == null) {             yuvType = new Type.Builder(rs, Element.U8(rs)).setX(data.lengt
【重头学习Android】关于自定义相机后照相旋转问题终极解决方案
这几天被这个相机
android:camera rotate90 使用相机时旋转90度问题
由于很多android手机在使用相机的横屏模式的时候总是有图像的preview旋转了90而看起来非常丑的问题,所以只有使用默认的横屏模式来获取图像。 1.在androidManifest.xml中申明只能使用横屏 2.在surface.xml中提供提示用户当时是横
Android OpenGL之二图像旋转实例
实现GLSurfaceView.Renderer: public class MyRenderer implements GLSurfaceView.Renderer {     //GLSurfaceView的被创建时回调该方法     @Override     public void onSurfaceCreated(GL10 gl, EGLConfig config) {  
android照相机竖屏显示的图像出现旋转的问题,但成像被拉伸了
/** * 照相机设置竖屏 * 解决htc手机照相机竖屏显示的问题,但魅族手机仍然无法正常显示 * 但成像有些被拉伸 * @param camera * @param angle */ protected void setDisplayOrientation(Camera camera, int angle){ Method downPolymo
Android Jni 利用OpenCV 实现图像任意角度旋转
一,java代码,收集Bitmap 信息private Button btnProc; private ImageView imageView; private Bitmap bmp;// Used to load the 'native-lib' library on application startup. static { System.loadLibrary("native-lib"