37 lines
1.2 KiB
Java
37 lines
1.2 KiB
Java
package example;
|
|
|
|
import com.luciad.imageio.webp.WebPWriteParam;
|
|
|
|
import javax.imageio.IIOImage;
|
|
import javax.imageio.ImageIO;
|
|
import javax.imageio.ImageWriter;
|
|
import javax.imageio.stream.FileImageOutputStream;
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
|
|
public class EncodingTest {
|
|
|
|
public static void main(String args[]) throws IOException {
|
|
String inputPngPath = "test_pic/test.png";
|
|
String inputJpgPath = "test_pic/test.jpg";
|
|
String outputWebpPath = "test_pic/test_.webp";
|
|
|
|
// Obtain an image to encode from somewhere
|
|
BufferedImage image = ImageIO.read(new File(inputJpgPath));
|
|
|
|
// 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);
|
|
}
|
|
}
|