使用janmuller库旋转图像的图像

时间:2014-09-12 07:14:31

标签: android rotation crop

我使用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;
}

1 个答案:

答案 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()看起来没问题。