运行 在圆圈内的每个像素上
running on every pixel inside a circle
假设我有很多小位图,我在它们周围画了一个大圆圈,但不一定所有位图都在圆圈内(比如有些位图可以在中间或边缘突出)并且我想 运行 在圆圈中位图的每个像素上(意味着不计算圆圈外的像素,只计算里面的部分),我该怎么做,我知道如何 运行 在所有位图的每个像素上,但不是特定形状..
您需要创建一个假想的网格,或者更确切地说,一个只有在帮助您解决手头问题时才有用的网格。这是您将所有位图分配到一个位置的网格,假设圆的中心位于 (0,0)。
然后你使用一点数学
查找相对于其位图在网格上的位置的像素是否在圆的半径内。
当然距离公式是
或者,如果您愿意,它是 sqrt( a^2 + b^2 )。其中 'a' 是 x 的差异,'b' 是 2 点之间的 y 差异。
假设我有很多小位图,我在它们周围画了一个大圆圈,但不一定所有位图都在圆圈内(比如有些位图可以在中间或边缘突出)并且我想 运行 在圆圈中位图的每个像素上(意味着不计算圆圈外的像素,只计算里面的部分),我该怎么做,我知道如何 运行 在所有位图的每个像素上,但不是特定形状..
您需要创建一个假想的网格,或者更确切地说,一个只有在帮助您解决手头问题时才有用的网格。这是您将所有位图分配到一个位置的网格,假设圆的中心位于 (0,0)。
然后你使用一点数学
查找相对于其位图在网格上的位置的像素是否在圆的半径内。
当然距离公式是
或者,如果您愿意,它是 sqrt( a^2 + b^2 )。其中 'a' 是 x 的差异,'b' 是 2 点之间的 y 差异。