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