以下是申请步骤
- 从 html 电子邮件消息或网站复制一些富文本(文本 + 图像的组合)
- 在您的 java 代码中检索从剪贴板对象复制的内容作为 BufferredImage
- 将检索到的图像对象保存为磁盘上的图像文件
您会注意到在保存的文件中,图像很好,任何非黑色文本都很好,但黑色文本似乎在黑色背景中丢失。找不到覆盖生成图像的黑色背景的方法。下面的一些示例代码。
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 个字节并将剩余内容写入 Bufferred 图像