欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 圖片裁剪和壓縮

錢多多2年前8瀏覽0評論

Java是一種非常實用的編程語言,在開發時,經常會遇到需要對圖片進行裁剪和壓縮的情況。而在Java中,我們可以通過使用AWT和ImageIO類庫,來快速實現圖片的裁剪和壓縮操作。

在進行圖片裁剪前,我們需要先加載一張圖片,可以使用ImageIO類庫的read方法讀取圖片文件。

File imgFile = new File("test.jpg");
BufferedImage originalImg = ImageIO.read(imgFile);

讀取完畢后,我們可以通過裁剪原圖像素值的方式來獲得我們需要的圖片。裁剪時,我們需要指定裁剪的位置和大小。

//指定裁剪的位置和大小
int x = 100;
int y = 100;
int w = 200;
int h = 200;
//創建一個空白圖片,將原圖像素值復制到新圖片上
BufferedImage newImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics g = newImg.getGraphics();
g.drawImage(originalImg, 0, 0, w, h, x, y, x+w, y+h, null);
g.dispose();

完成裁剪后,我們還需要進行對圖片的壓縮。圖片壓縮可以將圖片的文件大小縮小,加快圖片顯示和傳輸的速度。我們可以通過調整圖片的分辨率和質量來實現圖片的壓縮。

//指定壓縮后的圖片大小
int newWidth = 300;
int newHeight = 300;
//創建一個空白圖片,并將裁剪后的圖片像素值復制到新圖片上
BufferedImage compressedImg = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = compressedImg.createGraphics();
g2d.drawImage(newImg, 0, 0, newWidth, newHeight, null);
g2d.dispose();
//設置壓縮質量
float quality = 0.5f;
//設置壓縮后的格式為JPEG
String formatName = "JPEG";
//指定圖片壓縮參數
ImageWriteParam writeParam = ImageIO.getImageWritersByFormatName(formatName).next().getDefaultWriteParam();
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionQuality(quality);
File compressedImgFile = new File("test_compressed.jpg");
//保存壓縮后的圖片
ImageOutputStream ios = ImageIO.createImageOutputStream(compressedImgFile);
ImageWriter writer = ImageIO.getImageWritersByFormatName(formatName).next();
writer.setOutput(ios);
writer.write(null, new IIOImage(compressedImg, null, null), writeParam);
ios.close();

通過以上代碼,我們就可以實現圖片的裁剪和壓縮操作了。