2013-04-12 35 views
1

下面是应用程序从HTML电子邮件信息或从网站(文字+图像的组合步骤复制到剪贴板总是有当作为从Java剪贴板物体图像检索

  1. 拷贝一些富文本黑色背景一套)
  2. 在Java代码中检索内容从剪贴板复制对象作为BufferredImage
  3. 保存检索到的图像对象的磁盘映像文件

You'l我注意到,在保存的文件中,图像正常,任何非黑色文本都显示正常,但黑色文本在黑色背景中似乎丢失。无法找到覆盖生成图像黑色背景的方法。下面的一些示例代码。

 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'的mimetype。去掉前8个字节并将其余内容写入缓冲区图像

+0

找到了解决方案 - 它是使用一种自定义系统风格,它理解'image \ x-emf'的mimetype。去掉前8个字节并将剩余内容写入Bufferred图像 – saurshaz

+0

完成了谢谢Andrew – saurshaz

回答

2

找到了解决方案 - 它是使用了解了'image \ x-emf'的mimetype的自定义系统风格。去掉前8个字节,并将剩余内容写入Bufferred图像