我从Unity中的Texture2D(512 x 512)获取了一系列像素数据。
目前,我通过使用for循环并将外部像素设置为Color.black来在此纹理周围添加边框。
但是一些Texture2D实际上是圆形的(就图像/照片本身而言)。我想在这些图像周围添加一个圆形边框。
典型的for循环(r ++& c ++)给出了一个线性(左下角,右上角)值,它不适用于圆形,对吗?是否有某种算法可用于制作for-loop循环(就r和c值而言)?
这有什么意义吗?
感谢。
答案 0 :(得分:1)
有趣的问题:)
我无法想出一个解决方案来制作for循环'循环',因为x和y相互依赖,简单的x ++ y ++是不可能的。
一个简单的解决方案是在某个循环内计算x和y。就像使用#import "Constants.h"
NSString *MyConstantName = @"MyConstantValue";
并迭代x = r*cos(t); y = r*sin(t);
我制作了fiddle,它使用t
在html画布上绘制圆圈:D
答案 1 :(得分:0)
根据您想要的最终结果,您可能最好通过着色器进行修改以进行边缘检测(但这取决于您的纹理是什么)。
另一个可能更简单的解决方案是在原始图层上叠加第二个纹理,其中第二个纹理只是边框,其余部分为alpha'd out。