您好)帮忙解决问题: 我们需要创建一个绿色方形图像并显示它。
我可以画一个正方形,但我需要使用 java 创建它。 请帮我做到这一点) 这就是我尝试做的:
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class Game extends Canvas {
private static final long serialVersionUID = 1L;
private static final int WIDTH = 400;
private static final int HEIGHT = 400;
@Override
public void paint(Graphics g) {
super.paint(g);
int w = 10;
int h = 10;
int type = BufferedImage.TYPE_INT_ARGB;
BufferedImage image = new BufferedImage(w, h, type);
int color = 257; // RGBA value, each component in a byte
for (int x = 1; x < w; x++) {
for (int y = 1; y < h; y++) {
image.setRGB(x, y, color);
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(WIDTH, HEIGHT);
frame.add(new Game());
frame.setVisible(true);
}
}
但是什么也没有显示(
让我提醒一下目标 - 以绿色方块的形式创建图片,帮助制作它)
最简单的方法就是使用图形 API...
@Override
public void paint(Graphics g) {
super.paint(g);
int w = 10;
int h = 10;
g.setColor(Color.GREEN);
g.fillRect(0, 0, width, height);
}
但是有些事情告诉我这不是您想要的,但它确实构成了实现结果所需的基础知识。
首先将图像设为实例字段...
private BufferedImage image;
然后你需要创建图像...
int type = BufferedImage.TYPE_INT_ARGB;
image = new BufferedImage(w, h, type);
Graphics2D g2d = image.createGraphics();
g2d.setColor(Color.GREEN);
g2d.fillRect(0, 0, w, h);
g2d.dispoe();
然后在你的
paint
方法中,你需要绘制图像......
g.drawImage(image, x, y, this);
查看 2D Graphics 路径了解更多详细信息
如果要创建包含矩形的图像,请首先创建图像,然后使用其图形在其上绘制。我正在为你编写代码片段:
BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics g = image.getGraphics();
g.setColor(Color.blue);
g.fillRect(0, 0, image.getWidth(), image.getHeight());
这将生成带有蓝色矩形的图像。
public sttaic void main string args 我不知道该怎么做,我在浪费你的时间