Image 为纹理赋予边框-设置像素

Image 为纹理赋予边框-设置像素,image,unity3d,textures,border,Image,Unity3d,Textures,Border,我正在尝试为我的纹理动态添加边框。到目前为止,我在顶部和底部都有一个边框。但正努力获得左右边界。这就是我到目前为止所做的: var i = image; var pixels : Color[] = i.GetPixels(0, 0, i.width, i.height, 0); var br : int = 1; for(var p = 0; p < pixels.Length; p++){ var b : int = 30; //Bottom if(p

我正在尝试为我的纹理动态添加边框。到目前为止,我在顶部和底部都有一个边框。但正努力获得左右边界。这就是我到目前为止所做的:

var i = image;
var pixels : Color[] = i.GetPixels(0, 0, i.width, i.height, 0); 
var br : int = 1;

for(var p = 0; p < pixels.Length; p++){

    var b : int = 30;

    //Bottom
    if(p < i.width * b)
        pixels[p] = new Color(1,0,0,1);

    //Top
    if(p > (i.height * i.width) - (i.width * b))
        pixels[p] = new Color(1,0,0,1);


    //int when a new row of pixels has began
    if(p > i.width * br)
        br++;

}
从左下角到右上角读取像素。我似乎就是不懂数学


多谢

获取像素x位置的最简单方法可能是使用模块化运算符%,它返回剩余部分

下面是一个代码,用于计算x位置并在此基础上设置边界:

// Left
if(p % i.width < b)
    pixels[p] = new Color(1,0,0,1);

// right
if(p % i.width > i.width - b)
    pixels[p] = new Color(1,0,0,1);

谢谢,现在我该如何添加边界像素大小b?而且,这实际上并不起作用。我最终得到了一个奇怪的倒三角形效果。我不知道这是否是我的'ifp>I.width*br++;'这就是原因。对不起,我的打字错误。br应该是边框的宽度。你的情况是b。我相应地编辑了答案。