【发布时间】:2015-12-08 14:48:10
【问题描述】:
我有一个从 Unity 中的 Texture2D (512 x 512) 获取的像素数据数组。
目前,我正在通过使用 for 循环并将外部像素设置为 Color.black 来在此纹理周围添加边框。
但有些 Texture2Ds 实际上是圆形的(就图像/照片本身而言)。我想在这些图像周围添加一个圆形边框。
典型的 for 循环(r++ 和 c++)给出了一个线性(左下角,右上角)值,这对圆不起作用,对吧?是否有某种算法可以用来使 for 循环循环(根据 r 和 c 值)?
这有意义吗?
谢谢。
【问题讨论】:
-
不,我不这么认为。
-
没有必要让 for 循环循环迭代(即使可能,这也远不是解决这个问题的最简单方法)。只需将
r和c值与循环内的圆的方程一起使用,您就可以确定坐标是否位于给定圆内/外。有了这个逻辑,您就可以为稍微小一点的圆圈之外的像素着色,但在一个稍微大一点的圆圈内。
标签: for-loop unity3d textures geometry