繁体   English   中英

从Java剪贴板对象作为图像检索时,Outlook的剪贴板副本始终设置为黑色背景

[英]Clipboard copy from outlook always has black background set when retrieved as image from Java clipboard object

这是申请步骤

  1. 从html电子邮件或网站中复制一些富文本(文本+图片的组合)
  2. 在您的Java代码中,检索从剪贴板对象复制的内容为BufferredImage
  3. 将检索到的图像对象另存为磁盘上的图像文件

您会注意到,在已保存的文件中,图像可以正常显示,所有非黑色文本都可以正常显示,但黑色文本似乎在黑色背景中丢失了。 无法找到一种方法来覆盖生成的图像的黑色背景。 下面是一些示例代码。

     BufferedImage image = null;
try {
     image = (BufferedImage) transferable.getTransferData(DataFlavor.imageFlavor);

} catch (UnsupportedFlavorException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
      } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
}

saveImageToDisk(image);

      private void saveImageToDisk(BufferedImage image) {
    File outputFile = new File("c:\\image.png");
    try {
        ImageIO.write(image, "png", outputFile);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

找到了解决方案-它是使用一种了解'image \\ x-emf'模仿类型的自定义系统风格。 剥离前8个字节并将剩余内容写为Bufferred映像

找到了解决方案-它是使用一种了解'image \\ x-emf'模仿类型的自定义系统风格。 剥离前8个字节并将剩余内容写为Bufferred映像

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM