我有另一个问题,这也是额外的功劳而不是功课。这次我需要使用java2d创建一个边框。说明是...... 编写一个名为drawRectangleBorder的方法,该方法有六个不使用图形包的参数。它绘制一个矩形边框,从作为前两个参数给出的x和y坐标开始,具有由第三个和第四个参数给出的宽度和高度,由第六个参数给出的颜色中第五个参数给出的边框宽度。参数列表为:x,y,width,height,borderWidth,color
我使用了之前的方法来创建一个围绕图片外部的边框,但我现在可以做的最好的是几个分散的盒子。最新版本不会显示任何内容
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
我再次感谢你的任何意见。
答案 0 :(得分:0)
您可以更改java.awt.BufferedImage
中的像素,如here所示。
答案 1 :(得分:0)
我可能太困了,但我认为你忘记将像素设置回来(无论这是^^)
我猜这个.getPixel向你发送了一份副本,所以你可能想做类似的事情
Pixel p = this.getPixel( startX, startY );
p.setColor(newColor);
this.setPixel(startX, startY, p);