gpt4 book ai didi

java - 如何在 Canvas 剪辑中获取内接矩形

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:04 25 4
gpt4 key购买 nike

在 android canvas 中,我定义了一个具有多种形状(一个矩形和 2 个圆形)的剪切区域。我想得到裁剪区域定义的内接矩形。

Canvas 有一个名为 getClipBounds() 的方法,它为我提供了外接矩形,我该如何获取内接矩形呢?

enter image description here

编辑:这里有一些关于如何制作原始形状的信息:

  1. 首先用Region.Op.INTERSECT为大圆添加一个 fragment
  2. 然后使用 Region.Op.INTERSECT 为垂直矩形添加剪辑
  3. 然后使用 Region.Op.DIFFERENCE
  4. 为较小的圆添加剪辑

最佳答案

如果您知道两个圆的半径和圆心,则可以通过数学方法确定。

找到两个圆与 getClipBounds() 矩形的交点。- 红色圆圈和 getClipBounds() 矩形之间第二高的交点保存矩形的上 y 坐标。- 白色圆圈和 getClipBounds() 矩形之间的高交点保存矩形的较低 y 坐标。-x 边界已经由 getClipBounds() 矩形给出。

您可以从那里构建您的三个形状。

关于java - 如何在 Canvas 剪辑中获取内接矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13223543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com