获取 2D 变换后画布上位图的测量尺寸和位置
我有一堆位图,我在应用了 2D 转换的画布上绘制(android.graphics.Camera 和 android.graphics.Matrix)。如何获取 Canvas 上位图的大小/位置?大小将是在画布上渲染的位图的边界,位置将是边界的左上角/左上角的坐标。所有位图都是没有 Alpha 通道的规则矩形。
I have a bunch of bitmaps that I draw on a Canvas applied with 2D transformation (android.graphics.Camera and android.graphics.Matrix). How do I get the sizes/positions of the bitmaps on Canvas? The size would be the bounds of the bitmap as rendered on Canvas and the position would be the coordinates of the top/left corner of the bounds. All the bitmaps are regular rectangles without an alpha channel.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
矩阵类有一个用于此目的的
mapRect
函数:mapRect(RectF dst, RectF src)
将此矩阵应用于 src 矩形,并将转换后的矩形写入 dst。
将图像的尺寸作为源(如果使用整个图像,则将 x,y 指定为 0,0),然后将其将为您提供转换后的尺寸作为目标矩形。
The matrix class has a
mapRect
function for this purpose:mapRect(RectF dst, RectF src)
Apply this matrix to the src rectangle, and write the transformed rectangle into dst.
Give the dimensions of the image as the source (and 0,0 for the x,y if you're using the whole image) and it will give you the transformed dimensions back as the dst rectangle.