0

ピクセルを古い場所から新しい座標にコピーすることにより、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);    

}

これが私のテストケースに合格しない理由がわかりません。誰でも私にガイダンスを提供できますか?

ありがとう!

4

2 に答える 2

2

Shouldn't w and h be the width and height of src plus twice the borderwidth? You're creating tgt just big enough to hold the border color.

Hope that helps.

于 2013-03-12T03:35:30.920 に答える
0

You can use Graphics and draw lines.

于 2013-03-12T03:34:08.530 に答える