我正在编写一个程序,可以从图像中读取文本。通过从XWPFPictureData中获取BufferedImage,我在JPG / PNG上取得了成功。
public static BufferedImage convertPicDataToBuffImg(XWPFPictureData objPicData) {
byte[] bdata = objPicData.getData();
BufferedImage objInBuffImg = ImageIO.read(new ByteArrayInputStream(bdata));
...
}
但是,当对EMF图片类型使用相同的代码时,objInBuffImg变为null。如我所读,这是因为类型为EMF。
要使用与我相同的方法,我想将具有PictureType Document.PICTURE_TYPE_EMF的XWPFPictureData转换为BufferedImage。
所以基本上我想做的是如下所示:
public static BufferedImage convertPicDataToBuffImg(XWPFPictureData objPicData) {
BufferedIMage objInBuffImg = null;
if (objPicData.getPictureType() == Document.PICTURE_TYPE_EMF)) {
// Convert to BufferedImage
} else {
byte[] bdata = objPicData.getData();
objInBuffImg = ImageIO.read(new ByteArrayInputStream(bdata));
}
...
}
一直在搜索和阅读有关蜡染的信息,但无法完全弄清如上所述如何做我想做的事情。
有什么想法吗?
非常感谢您的帮助!