add: ResizeTest example
This commit is contained in:
parent
734ae8333e
commit
c7bbec3728
53
src/main/java/example/ResizeTest.java
Normal file
53
src/main/java/example/ResizeTest.java
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package example;
|
||||||
|
|
||||||
|
import com.luciad.imageio.webp.WebPReadParam;
|
||||||
|
import com.luciad.imageio.webp.WebPWriteParam;
|
||||||
|
|
||||||
|
import javax.imageio.IIOImage;
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.imageio.ImageReader;
|
||||||
|
import javax.imageio.ImageWriter;
|
||||||
|
import javax.imageio.stream.FileImageInputStream;
|
||||||
|
import javax.imageio.stream.FileImageOutputStream;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class ResizeTest {
|
||||||
|
public static void main(String args[]) throws IOException {
|
||||||
|
String inputWebpPath = "test_pic/test.webp";
|
||||||
|
String outputWebpPath = "test_pic/test_resize.webp";
|
||||||
|
|
||||||
|
// Obtain a WebP ImageReader instance
|
||||||
|
ImageReader reader = ImageIO.getImageReadersByMIMEType("image/webp").next();
|
||||||
|
|
||||||
|
// Configure decoding parameters
|
||||||
|
WebPReadParam readParam = new WebPReadParam();
|
||||||
|
readParam.setBypassFiltering(true);
|
||||||
|
|
||||||
|
// Configure the input on the ImageReader
|
||||||
|
reader.setInput(new FileImageInputStream(new File(inputWebpPath)));
|
||||||
|
|
||||||
|
// Decode the image
|
||||||
|
BufferedImage image = reader.read(0, readParam);
|
||||||
|
int height = image.getHeight();
|
||||||
|
int width = image.getWidth();
|
||||||
|
|
||||||
|
BufferedImage resizedImage = new BufferedImage(width * 2, height * 2, image.getType());
|
||||||
|
Graphics graphics = resizedImage.getGraphics();
|
||||||
|
graphics.drawImage(image, 0, 0, width * 2, height * 2, null);
|
||||||
|
graphics.dispose();
|
||||||
|
|
||||||
|
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(resizedImage, null, null), writeParam);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user