[英]Java can't read an image with javax.imageio or Sanselan
我想讀取圖像以使用 awt 和 Apache Commons Imaging(以前稱為 Apache Commons Sanselan)縮放它我無法縮放圖像,但我可以在瀏覽器中正確地看到它作為jpg沒有任何問題。 使用獲取圖像信息
Sanselan.getMetadata(fileData)
我得到這個信息:
No Exif metadata.
Photoshop (IPTC) metadata:
編碼
public static byte[] scale(byte[] fileData, int width, int height) {
ByteArrayInputStream in = new ByteArrayInputStream(fileData);
try {
BufferedImage img = javax.imageio.ImageIO.read(in);
....
return buffer.toByteArray();
} catch (IOException e1) {
System.out.println ("e1 -> " + e1.getMessage());
try {
BufferedImage img = Sanselan.getBufferedImage(in);
} catch (ImageReadException | IOException e2) {
System.out.println ("e2 -> " + e2.getMessage());
}
}
return fileData;
}
但我得到了這個例外:
e1 -> Unsupported Image Type
e2 -> Can't parse this format.
無需外部庫即可完成圖像縮放。
Image img = ImageIO.read(URL);
Image scaledImg = img.getScaledInstance(IMG_WIDTH, IMG_HEIGHT, Image.SCALE_DEFAULT);
請參閱 文檔以獲取更多靈感。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.