关于使用java2D绘制的问题

关于使用java2D绘制的问题,java,Java,我还有一个问题,这也是额外的学分,不是家庭作业。这次我需要使用java2d创建一个没有out的边框。说明是。。。 编写一个名为drawRectangleBorder的方法,该方法具有六个不使用图形包的参数。它从作为前两个参数给出的x和y坐标开始绘制矩形边框,其宽度和高度由第三个和第四个参数给出,边框宽度由第五个参数给出,颜色由第六个参数给出。参数列表为:x、y、宽度、高度、边框宽度、颜色 我使用了以前的方法在图片的外部创建边框,但现在我能做的最好的事情就是创建一对分散的方框。最新版本不会显示任何

我还有一个问题,这也是额外的学分,不是家庭作业。这次我需要使用java2d创建一个没有out的边框。说明是。。。 编写一个名为drawRectangleBorder的方法,该方法具有六个不使用图形包的参数。它从作为前两个参数给出的x和y坐标开始绘制矩形边框,其宽度和高度由第三个和第四个参数给出,边框宽度由第五个参数给出,颜色由第六个参数给出。参数列表为:x、y、宽度、高度、边框宽度、颜色

我使用了以前的方法在图片的外部创建边框,但现在我能做的最好的事情就是创建一对分散的方框。最新版本不会显示任何内容

public void drawRectangleBorder(
        int x, int y, int width, int height, int border, Color newColor) {
    int startX = 0;
    int startY = 0;

    // top and bottom  
    for (startX = x; x < width; x++) {
        for (startY = y; y < border; y++) {
            // top pixel
            this.getPixel(startX, startY).setColor(newColor);
            // bottom pixel
            this.getPixel(startX + width, startY + height).setColor(newColor);
        } // for-y
    } // for-x

    // left and right  
    for (startX = x; x < border; x++) {
        for (startY = y; y < height; y++) {
            // left pixel
            this.getPixel(startX, startY).setColor(newColor);
            // right pixel
            this.getPixel(startX + width, StartY + height).setColor(newColor);
        } // for-y
    } // for-x

    return;
} // end drawRectangleBorder

再次感谢您的输入。

您可以更改java.awt.buffereImage中的像素,如图所示。

我可能太困了,但我认为您忘记了将像素设置回这个值,不管这是什么^^

我猜是这样的。getPixel会向您发送一份副本,因此您可能需要执行以下操作

Pixel p = this.getPixel( startX, startY );
p.setColor(newColor);
this.setPixel(startX, startY, p);

我认为额外的学分仍然被归类为家庭作业^^^如果我发布的内容没有帮助,并且没有其他人飞到营救现场,你能再详细一点你的这个对象是什么吗?这是该方法应用到的图片。ie pic1.drawRectangleBorder1,2,3,4,5,6或pic2.drawRectangleBorder1,2,3,4,5,6。在方法调用之前不需要使用this。这并不意味着什么。@Steve Kuo:在这种情况下,请认为它被用作问题中任何内容的占位符,可能是讲师提供的包装。@Steve Kuo:我之所以写这个,是因为它是如何写在问题中的^^