你和其他人看過的次數: 555
網站上的圖片,不管是JPG或是PNG,即使壓縮了。仍然有一定的分量。
Google為眾人熟知的在於搜尋引擎,沒想到在2010年9月推出了新的圖片格式– webP。
時事今日大部分的瀏覽器都已經可以支援此類的圖片,但是,並非所有的繪圖軟體都能產生webP的格式。
網路上有有很多提供,將PNG,JPG等圖片轉換成webP的免費服務,只不過轉換之後,檔名跟原來的有所差異,
而且必須一張一張轉,還是有點費事。
身為工程師,就是要將繁瑣費事的事情,交給電腦來處理啊!
果然。在網路上可以找到 webp-imageio-core 用它來幫助我們轉換圖片。
測試平台:
- win10
- jdk 8
- webp-imageio-core-0.1.0.jar
- webp-imageio-core-0.1.3.jar(測試不成功,java.lang.UnsatisfiedLinkError: C:\Users\suna\AppData\Local\Temp\webp-imageio5383482825944252218.dll: Can’t find dependent libraries)
用Java將PNG轉成webP
以下是程式碼,請享用!
import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import javax.imageio.IIOImage; import javax.imageio.ImageIO; import javax.imageio.ImageWriter; import javax.imageio.stream.FileImageOutputStream; import com.luciad.imageio.webp.WebPWriteParam; public class TransPng { public static void main(String[] args) throws FileNotFoundException, IOException { String inputPngPath = "G:/test/get4health.png"; //String inputJpgPath = "test_pic/test.jpg"; String outputWebpPath = "G:/test/get4health.webp"; // Obtain an image to encode from somewhere BufferedImage image = ImageIO.read(new File(inputPngPath)); // Obtain a WebP ImageWriter instance ImageWriter writer = ImageIO.getImageWritersByMIMEType("image/webp").next(); // Configure encoding parameters WebPWriteParam writeParam = new WebPWriteParam(writer.getLocale()); writeParam.setCompressionMode(WebPWriteParam.MODE_DEFAULT); // Configure the output on the ImageWriter writer.setOutput(new FileImageOutputStream(new File(outputWebpPath))); // Encode writer.write(null, new IIOImage(image, null, null), writeParam); } }