日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java读取 png_如何让java的ImageBuffer正确读取PNG文件?

發(fā)布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java读取 png_如何让java的ImageBuffer正确读取PNG文件? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

出于某種原因,使用ImageBuffer和ImageIO打開一些PNG文件不起作用.這里有一些我正在使用的代碼可以很好地調(diào)整大小/裁剪JPG:

BufferedImage image = ImageIO.read(new File(location));

BufferedImage croppedImage = image.getSubimage(

cropInfo.getX(), cropInfo.getY(), cropInfo.getW(), cropInfo.getH());

BufferedImage resizedImage = new BufferedImage(

TARGET_WIDTH, TARGET_HEIGHT, croppedImage.getType());

Graphics2D g = resizedImage.createGraphics();

g.drawImage(croppedImage, 0, 0, TARGET_WIDTH, TARGET_HEIGHT, null);

g.dispose();

this.changeContentType("image/png", ".png"); // not really relevant. just a property

ImageIO.write(resizedImage, "png", new File(location));

return resizedImage;

此函數(shù)的目標(biāo)是獲取給定的任何類型,調(diào)整大小并裁剪圖像,然后將其保存到具有相同文件名的PNG.

它適用于Windows,但如果我在Linux(lenny)上裁剪/調(diào)整大小,它會完全崩潰并抱怨文件的類型(它表示類型為0).

java.lang.IllegalArgumentException: Unknown image type 0

java.awt.image.BufferedImage.(BufferedImage.java:490)

trainingdividend.domain.file.ServerImage.resizeImage(ServerImage.java:68)

trainingdividend.domain.file.ServerImage.cropAndResize(ServerImage.java:80)

trainingdividend.service.user.UserAccountManagerImpl.cropAvatar(UserAccountManagerImpl.java:155)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

解決方案?

還有另一個我可以使用的圖書館嗎?

總結(jié)

以上是生活随笔為你收集整理的java读取 png_如何让java的ImageBuffer正确读取PNG文件?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。