gpt4 book ai didi

java - 面板背景图片截图

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:09 27 4
gpt4 key购买 nike

我正在尝试在 JPanel 中绘制图像(使用鼠标),这是可行的,但是当我尝试截取面板的屏幕截图并生成该图像时,我只能看到图像背景不用鼠标绘制。

这是我生成后台的代码 Panel.java

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(this.createImage("/imagenes/cuerpoHumano.png").getImage(), 0, 0, null);
}

这是我在图像上用铅笔绘制的代码: Panel.java

private void formMouseDragged(java.awt.event.MouseEvent evt) {
x = evt.getX();
y = evt.getY();

this.getGraphics().setColor(Color.RED);
this.getGraphics().fillOval(x, y, 4, 4);
}

这是生成屏幕截图的代码

Dimension size = panel.getSize();
BufferedImage image = (BufferedImage) panel.createImage(size.width, size.height);
Graphics g = image.getGraphics();
panel.paint(g);
g.dispose();
try {
String fileName = UUID.randomUUID().toString().substring(0, 18);
ImageIO.write(image, "jpg", new File(path, fileName + ".jpg"));

} catch (IOException e) {
e.printStackTrace();
}

最佳答案

当您截取屏幕截图时,paintComponent() 方法会被调用。这意味着它只会为您绘制图像。您必须将鼠标移动存储在某个模型中,并在 paintComponent() 方法中绘制模型的内容。在鼠标移动过程中调用面板上的 repaint() 触发此方法。

关于java - 面板背景图片截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12124970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com