私は使っている
pCanvas.drawBitmap(mBitmap, mRectSrc, mRectDst, mPainter);
ビットマップのサブセットを描画します。ビューに影響を与えずにそのビットマップを回転させるにはどうすればよいのでしょうか。私の試みでは、キャンバスを回転するように設定すると、ビュー全体(ビューポート)が回転します。これは私が望むものではありません。
私は使っている
pCanvas.drawBitmap(mBitmap, mRectSrc, mRectDst, mPainter);
ビットマップのサブセットを描画します。ビューに影響を与えずにそのビットマップを回転させるにはどうすればよいのでしょうか。私の試みでは、キャンバスを回転するように設定すると、ビュー全体(ビューポート)が回転します。これは私が望むものではありません。
回転したテキストを描画する必要があるとき、手順は を呼び出しCanvas.save()
、回転し (中心点は同じままであることを思い出してください)、描画を行ってから を呼び出すことであることがわかりましたCanvas.restore()
。この場合も同じだと思います。
私が知っている唯一の方法は、マトリックスを使用することです。この疑似コードを試してください:
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.your_bitmap);
Matrix matrix = new Matrix();
matrix.postRotate(90);
Bitmap rotatedBMP = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);