绘制位图的子集时如何旋转位图?

发布于 2024-10-20 22:10:11 字数 170 浏览 1 评论 0原文

我用来

pCanvas.drawBitmap(mBitmap, mRectSrc, mRectDst, mPainter);

绘制位图的子集。我想知道如何旋转该位图 且不影响视线。在我的尝试中,当我将画布设置为旋转时 整个视图(视口)被旋转。这不是我想要的。

I am using

pCanvas.drawBitmap(mBitmap, mRectSrc, mRectDst, mPainter);

to draw a subset of a bitmap. I wondering how I can rotate that bitmap
without affecting the view. In my attempts, when I set the canvas to rotate
the whole view (viewport) is rotated. This is not what I want.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吖咩 2024-10-27 22:10:11

当我必须绘制旋转文本时,我发现程序是调用 Canvas.save() ,旋转(记住中心点保持不变),进行绘制,然后调用 Canvas .restore()。我想在这个例子中也是一样的。

when I had to draw rotated text, I found the procedure is to call Canvas.save(), rotate (remembering that the center point remains the same), do the drawing and then call Canvas.restore(). I suppose it's just the same in this case.

唠甜嗑 2024-10-27 22:10:11

我知道的唯一方法是使用矩阵。试试这个伪代码:

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);

Only way I know of is to use a Matrix. Try this pseudocode:

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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文