在圆圈内的每个像素上运行

时间:2015-01-15 19:15:23

标签: java android bitmap

假设我有很多小位图,我在它们周围绘制了一个大圆圈,但没有必要所有位图都在圆圈内(就像有些位于中间位置或边缘伸出一样)我希望每次运行圆圈中位图的单个像素(意味着圆圈外的像素不会被计算,只有内部的部分),我该如何去做,我知道如何在所有位图的每个像素上运行,但不是特定的形状..

1 个答案:

答案 0 :(得分:1)

您需要创建一个虚构网格,或者更确切地说是一个网格,它只会帮助您解决手头的问题。这是您将所有位图分配到某个位置的网格,想象圆的中心位于(0,0)。

然后你使用一点数学

math

查找相对于其位图在网格上的位置的像素是否在圆的半径范围内。

当然,距离是

enter image description here

或者如果你更喜欢它是sqrt(a ^ 2 + b ^ 2)。其中'a'是x的差异,'b'是2点之间y的差异。

enter image description here