Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我把一个图形转换成一个图像时,我得到了一个黑色的_Java_Image_Graphics - Fatal编程技术网

Java 当我把一个图形转换成一个图像时,我得到了一个黑色的

Java 当我把一个图形转换成一个图像时,我得到了一个黑色的,java,image,graphics,Java,Image,Graphics,我正在尝试将图形转换为图像以将其插入Word文档,但我得到了黑色图像这是我的代码: jPanel2.setVisible(false); Graphics g2 = jPanel2.getGraphics(); Drawer drawer = new Drawer(); drawer.setSource(new File(jTextField1.getText())); drawer.paintComponent(g2); jPanel2.print(g2); BufferedImage aw

我正在尝试将图形转换为图像以将其插入Word文档,但我得到了黑色图像这是我的代码:

jPanel2.setVisible(false);
Graphics g2 = jPanel2.getGraphics();
Drawer drawer = new Drawer();
drawer.setSource(new File(jTextField1.getText()));
drawer.paintComponent(g2);
jPanel2.print(g2);

BufferedImage awtImage = new BufferedImage(900, 400, BufferedImage.TYPE_INT_RGB);
g2 = awtImage.getGraphics();
SwingUtilities.paintComponent(g2, jPanel2, this, 0, 0,
jPanel2.getWidth(), jPanel2.getHeight());

ImageIO.write(awtImage, "jpg", new File("C:\\graphics.jpg"));
类抽屉负责绘制图形
你能帮我找到问题吗?

我不确定这种方法是否有效。Java的Robot类可用于制作屏幕上显示的任何内容的屏幕截图。显示面板,然后捕获它:@BorisPavlović为什么要截图?在我看来,他想在文本字段中输入一个文件路径并转换该图像,但不知道为什么,但这就是他在做的事情我正试图输入一个XML文件作为输入,并从这个XML文件中的信息生成图形然后我想将这个图形转换成一个图像,插入word文档中,但当我试图将图形转换成图像时,我会变黑one@jiji您确定drawer类按预期工作吗?听起来从XML生成的文件可能有缺陷或其他问题。对于许多不清楚自己在做什么的电话来说,看起来更像是冲突,drawer.paintcomponent2;jPanel2.printg2;g2=awtImage.getGraphics;而且,看起来代码是从不同的来源收集的,这意味着不同的目的。我建议您编写一个干净的代码,不需要jpanel,只需创建一个缓冲图像,从图像中获取图形并绘制,然后将图像保存到磁盘