java – Android在Canvas上获取Bitmap Rect(左,上,右,下)

我在Canvas上绘制一个Bitmap,然后对它进行一些缩放,非常简单,只需使用canvas.scale(int,int,pivot,pivot),然后,在缩放完成后,我需要获取Bitmap的坐标相对于视口.有没有任何方便的方法来做到这一点,而不是自己计算初始位置是什么,然后它在规模之后?

实际上,具有缩放的位图可以比Canvas更大,所以我实际上需要视图的剪辑大小和位图(不可见区域的大小,我认为低于x,y(0,0).

最佳答案 我在想这个:

canvas.scale(scaleX, scaleY, pivotX, pivotY);    

if (scaleX >= 1){       
  objectNewX = objectOldX + (objectOldX - pivotX)*(scaleX - 1);  
}else{      
  objectNewX = objectOldX - (objectOldX - pivotX)*(1 - scaleX);  
} 

同样的Y和另一个角落,这是我的头顶,没有尝试过…

点赞