2

このように画像を回転させるコードがあります

private void rotate(Bitmap src, float degree) {


        // create new matrix     
        Matrix matrix = new Matrix();
        // setup rotation degree
        matrix.postRotate(degree);
        // return new bitmap rotated using matrix
        Bitmap ro = Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);

        mImageView.setImageBitmap(ro);
        recycleBitmap();
    }

回転しても動作しますが、回転ボタンを押し続けると画像が見えなくなります。どうすれば解決できますか?ありがとう

4

2 に答える 2

0

postRotate の前に postScale を設定してみてください

 // resize the bit map
    matrix.postScale(scaleWidth, scaleHeight);
    // rotate the Bitmap
    matrix.postRotate(45);
于 2012-11-16T10:05:46.340 に答える
0

コードで行っていることは、回転ボタンをクリックするたびにマトリックス値を変更することです.値を連続的に変更すると、画像の構造が破壊される可能性があります.マトリックスを調整またはスケーリングできます.これを試してください'

private void rotate(Bitmap src, float degree) {
        // create new matrix     
        Matrix matrix = new Matrix();

 matrix.postRotate(degree,px,py);//(px,py)is pivot point with reference to which the image is rotated
        // return new bitmap rotated using matrix
        Bitmap ro = Bitmap.createBitmap(src, 0, 0, src.getWidth(), src.getHeight(), matrix, true);

        mImageView.setImageBitmap(ro);
        recycleBitmap();
    }
于 2012-11-16T10:26:08.700 に答える