Convert WebP to PNG using java


WebP是谷歌的圖片格式,java 類庫imageio 是不支持此種格式的。眼下除了在線轉換以及工具以外,第三方類庫轉換webp格式大致有:

1.linux:Google libwebp 既是類庫也能夠在命令行調用

2.Python:Python Image Library(PIL)及其分支 https://pypi.python.org/pypi/PIL  不太了解

3.Java:luciad/webp-imageio https://bitbucket.org/luciad/webp-imageio/src   證實可用(linux環境下)


本文講述第三種方法:

在linux環境下。將google libwebp-0.4.0 放至 luciad-webp-imageio-2962dd563583 根文件夾內。安裝CMake,在上述根文件夾內運行 cmake . 命令,cmake完畢后在上述根文件夾下運行make命令。make完畢會在java文件夾和c文件夾下分別生成.jar 和.so 文件。

將.jar 導入自己的java項目路徑,將.so文件放至系統java路徑。此時在java項目中使用imageio就可以讀寫webp格式文件。


說明:

操作環境:ubuntu

語言:java

實例:webp 轉png


步驟:

一:下載下面三個文件包

1.CMake 安裝包:cmake-3.1.0-rc2-Linux-i386.tar

2.Google webp 依賴庫:libwebp-0.4.0.tar.gz   原地址:https://developers.google.com/speed/webp/download?hl=zh-cN

3.luciad/webp-imageioproject:luciad-webp-imageio-2962dd563583.zip    原地址:https://bitbucket.org/luciad/webp-imageio/src 


考慮到以上資源須要翻牆下載。比較慢。我已將三個文件傳至csdn,0分下載  。


地址:http://download.csdn.net/detail/geeklei/8161731


二:編譯得到 webp-imageio.jar 和 libwebp-imageio.so

1.解壓 luciad-webp-imageio-2962dd563583.zip。

2.將libwebp-0.4.0.tar.gz  解壓至 luciad-webp-imageio-2962dd563583 根文件夾下。

3.將cmake-3.1.0-rc2-Linux-i386.tar 解壓。

cmake解壓即用。當然也能夠自己用命令從鏡像源中下載安裝。

4.在確保cmake可用的前提下,在luciad-webp-imageio-2962dd563583 根文件夾下 運行cmake . 命令。注意 cmake 和 . 之間有一個空格

5.cmake結束,看到了makefile文件, 在luciad-webp-imageio-2962dd563583 根文件夾下 運行make 命令。

6.make結束,在luciad-webp-imageio-2962dd563583 根文件夾下的java和c 文件夾內能夠看到.jar 和.so


三:

1.將webp-imageio.jar導入 eclipse 中自己的java項目中。

2.將libwebp-imageio.so 放至系統java路徑中。

能夠再項目中利用 System.out.println(System.getProperty("java.library.path"));語句打印出java 路徑。避免遺漏。打印出的java路徑有多個,有部分反復。

3.在項目中使用 ImageIO就可以讀寫webp格式文件了。


代碼:

File file1= new File("/home/geeklei/Desktop/640_tp.webp");
File file2= new File("/home/geeklei/Desktop/640a.png");
		
System.out.println(System.getProperty("java.library.path"));
		
try {
		
	BufferedImage im = ImageIO.read(file1); 
	ImageIO.write(im, "png", file2);
			
			
} catch (IOException e) {
	e.printStackTrace();
}


感謝luciad/webp-imageio項目作者 Luciad 的努力,以及對我的提問的無私幫助。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

今天早上發現有人把編譯好的包傳到項目里面了。。

我也沒測試。只是把包也共享出來吧。

原地址:https://bitbucket.org/luciad/webp-imageio/downloads

csdn地址:http://download.csdn.net/detail/geeklei/8163329


里面有 .jar .so .dll

涵蓋linux 32/64 windows  32/64 等版本號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM