亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

java怎么壓縮圖片大小不改變圖片分辨率

小億
460
2023-09-14 10:06:44
欄目: 編程語言

在Java中可以使用javax.imageio包中的類來壓縮圖片大小而不改變圖片分辨率。下面是一個壓縮圖片大小的示例代碼:

import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageCompressor {
public static void main(String[] args) {
String inputImagePath = "input.jpg";
String outputImagePath = "output.jpg";
int newWidth = 800; // 壓縮后的圖片寬度
int newHeight = 600; // 壓縮后的圖片高度
try {
// 讀取原始圖片
BufferedImage originalImage = ImageIO.read(new File(inputImagePath));
int originalWidth = originalImage.getWidth();
int originalHeight = originalImage.getHeight();
// 創建一個新的圖像對象,并指定壓縮后的寬高
BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g = resizedImage.createGraphics();
// 使用抗鋸齒渲染
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
// 繪制壓縮后的圖像
g.drawImage(originalImage, 0, 0, newWidth, newHeight, 0, 0, originalWidth, originalHeight, null);
g.dispose();
// 將壓縮后的圖像保存到指定路徑
ImageIO.write(resizedImage, "jpg", new File(outputImagePath));
System.out.println("圖片壓縮成功!");
} catch (IOException ex) {
System.out.println("圖片壓縮失敗:" + ex.getMessage());
}
}
}

在這個示例代碼中,我們首先指定了原始圖片路徑(inputImagePath)和壓縮后圖片的路徑(outputImagePath),以及壓縮后的寬度(newWidth)和高度(newHeight)。

然后,我們使用ImageIO類的read方法讀取原始圖片,并獲取原始圖片的寬度和高度。

接下來,我們創建一個新的BufferedImage對象,并指定寬度和高度為壓縮后的尺寸。

然后,我們使用Graphics2D對象的drawImage方法將原始圖片繪制到新的BufferedImage對象上,指定繪制的區域為壓縮后的尺寸。

最后,我們使用ImageIO類的write方法將壓縮后的圖像保存到指定路徑。

注意,在這個示例代碼中,我們使用了抗鋸齒渲染(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR),以保持壓縮后的圖像質量。你也可以根據需要選擇其他的渲染方式。

此外,你還可以根據實際情況對壓縮后的圖像進行其他處理,比如調整亮度、對比度等。

0
含山县| 台山市| 林周县| 吉木乃县| 靖安县| 兴国县| 隆化县| 衢州市| 克山县| 江达县| 保康县| 若羌县| 尉氏县| 榕江县| 庆元县| 崇阳县| 类乌齐县| 伊川县| 宜城市| 塔城市| 太和县| 共和县| 清水县| 杭锦后旗| 通河县| 沧州市| 藁城市| 酉阳| 咸阳市| 丰都县| 宣汉县| 宜城市| 含山县| 元阳县| 望城县| 蒙城县| 博客| 昭平县| 金山区| 富民县| 繁峙县|