使用画布在另一个矩形的中心绘制图像。

4

在我的视图中,我有一个大矩形,这个矩形可以移动。当矩形移动到某个位置时,我想在大矩形的中心绘制图像。我的问题是我不能把图像的中心放在矩形的中心。

我使用了:

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

但我找不到canvas.drawBitmap(rotatedBitmap, centerX, centerY, paint)这个方法,所以我想使用矩阵,但是矩阵也会从左上角开始移动图像,而不是从中心开始,您能给一些提示如何将图片绘制在矩形的中心吗?

1个回答

8
尝试使用矩形的边界作为参考点,然后使用类似以下的代码:
imageStartX = (rectStartX + (rectWidth/2)) - (imageWidth/2);
imageStartY = (rectStartY + (rectHeight/2)) - (imageHeight/2);

1
我尝试了,但图像并没有正确居中,因为我把矩形的x和y值分别用于rectStartX和rectStartY。然后我使用了X的中心(宽度/2)和Y的中心(高度/2)作为rectStartX和rectStartY,结果它奏效了。图像完美地居中了!感谢您提供答案。 - Olivier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接