在java中为图像添加像素边框

时间:2013-03-12 03:29:19

标签: java

我正在尝试创建一个图像,通过将像素从旧位置复制到新坐标,为Java上的现有图像添加边框。到目前为止,这就是我所做的:

 public static NewPic border(NewPic p, int borderWidth, Pixel borderColor) {
    int w = 2 * borderWidth;
    int h = 2 * borderWidth;


    Pixel[][] src = p.getBitmap();
    Pixel[][] tgt = new Pixel[w][h];

    for (int x = 0; x < w; x++) {
        for (int y = 0; y < h; y++) {
            if (x < borderWidth || x >= (w - borderWidth) ||
                    y < borderWidth)
                tgt[x][y] = borderColor;
            else
                tgt[x][y] = src[x - borderWidth][y - borderWidth]; 

        }
    }

return new NewPic(tgt);    

}

不确定为什么这不能通过我的测试用例。任何人都可以向我提供任何指导吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

不应该是宽度和高度src 加上两倍的边界宽度?你创造的tgt足够大,可以保持边框颜色。

希望有所帮助。

答案 1 :(得分:0)

您可以使用Graphics并绘制线条。