91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
贵州省| 双峰县| 平泉县| 台前县| 黔西县| 吉安县| 定远县| 星座| 武胜县| 寿宁县| 疏附县| 永福县| 盘山县| 桂阳县| 垣曲县| 东兴市| 灵台县| 泸西县| 咸阳市| 达孜县| 峨眉山市| 巨鹿县| 闻喜县| 东港市| 荥阳市| 新郑市| 兴安盟| 星座| 达州市| 芜湖县| 化隆| 青龙| 蓬溪县| 焦作市| 广灵县| 蒲江县| 肥西县| 新龙县| 静安区| 荔波县| 左贡县|