我使用janmuller android库来执行图像的旋转。在向左或向右旋转90度时,图像会旋转,但是它会在屏幕上居中。这是我在janmuller库中使用的代码
public void onRotateRight(View v) {
mBitmap = Util.rotateImage(mBitmap, 90);
RotateBitmap rotateBitmap = new RotateBitmap(mBitmap);
mImageView.setImageRotateBitmapResetBase(rotateBitmap, true);
mRunFaceDetection.run();
}
这是rotateImage函数
public static Bitmap rotateImage(Bitmap src, float degree) {
// create new matrix
Matrix matrix = new Matrix();
// setup rotation degree
matrix.postRotate(degree);
Bitmap bmp = Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);
return bmp;
}
答案 0 :(得分:0)
public void onRotateRight(View v) {
mBitmap = Util.rotateImage(mBitmap, 90);
RotateBitmap rotateBitmap = new RotateBitmap(mBitmap);
mImageView.setImageRotateBitmapResetBase(rotateBitmap, true);
mRunFaceDetection.run();
}
我想知道为什么你有这么多代码。特别是我想知道在位图上使用了rotateImage()之后你就不会把它放回到imageview中。有很多代码用旋转(为什么需要?)和重置基础(这是什么?),当事情出错时很难说谁应该受到责备。在责备janmuller之前,最好先尝试使用普通的ImageView。更像这样:
public void onRotateRight(View v) {
mBitmap = Util.rotateImage(mBitmap, 90);
mImageView.setImageBitMap(mBitmap);
}
这应该足以测试;
函数rotateImage()看起来没问题。