android - 使用 Canvas 在另一个矩形的中心绘制图像

标签 android android-canvas

在我看来我有一个大矩形,矩形可以移动。当矩形移动到某个地方时,我想在大矩形的中心绘制图像。我的问题是我不能将图像的中心放在矩形的中心。 我用过:

 canvas.drawBitmap(rotatedBitmap, matrix, paint)
 canvas.drawBitmap(rotatedBitmap, left, top, paint)

但我找不到 canvas.drawBitmap(rotatedBitmap, centerX, centerY, paint),所以我想使用矩阵,但矩阵也会从左侧和顶部开始移动图像,而不是从中心开始,你能提供一些线索吗在矩形的中心绘制图片?

最佳答案

尝试使用矩形的边界作为引用点,然后使用如下内容:

imageStartX = (rectStartX + (rectWidth/2)) - (imageWidth/2);

imageStartY = (rectStartY + (rectHeight/2)) - (imageHeight/2);

关于android - 使用 Canvas 在另一个矩形的中心绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784823/

相关文章:

android - YouTube.Builder 的正确使用方法

java - 在 Android 中获取设备 ID 的最佳方法

java - RxJava 使用 observables 为 android 构建缓存

java - 如何通过onDraw()方法创建一个可以绘制的对象?

java - Canvas 的密度

android - 如何在android中制作完整的圆形 ImageView

android - Facebook 和 Proguard 错误

java - 每次进行搜索查询时更改 TextView

android - 使用表面 View 时闪烁

android - 如何在 Canvas 绘画中实现 UNDO 功能后更改绘画颜色/描边