java - Android 在 Canvas 上获取 Bitmap Rect (left, top, right, bottom)

标签 java android android-canvas

我在 Canvas 上绘制一个位图,然后对其进行一些缩放,非常简单,只需使用 canvas.scale(int, int, pivot, pivot),然后在缩放完成后,我需要得到位图相对于视口(viewport)的坐标。有没有什么方便的方法可以做到这一点而无需自己计算初始位置然后它在比例尺之后的位置?

实际上,具有缩放比例的位图可以比 Canvas 更大,所以我实际上需要 View 和位图的剪辑大小(不可见区域的大小,我想小于 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 和另一个角也一样,这是我的头顶,还没有尝试过......

关于java - Android 在 Canvas 上获取 Bitmap Rect (left, top, right, bottom),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749723/

相关文章:

java - 有没有一种方法可以将对象设置为重叠并符合网格系统?

java - Android - 以平滑的角色移动在 Canvas 上绘制迷宫

java - 如何使 Java 和 Objective-C (iPhone) 之间的 AES 加密相同?

java - Selenium 服务器独立 sendKeys 命令

android - 创建应用发布时,Google Play 上的 "features"列是什么?

java - 如何将 base64 字符串转换为 blob?

java - Android - 如何垂直连接两个相同宽度的位图?

android - StateListDrawable 在 KeyboardView 的 OnDraw() 方法中不起作用

java - 向 JTextPane 添加多个文本,而不是用另一个文本替换每个文本

android - 整洁的架构 Android : where to do object mapping