日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java将图片压缩100KB以下,压缩图片,将几MB的图片压缩成100KB

發布時間:2024/1/8 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java将图片压缩100KB以下,压缩图片,将几MB的图片压缩成100KB 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

隨著手機像素越來越大圖片占用內存就越大,用戶上傳多幾張圖片都占用了很多存儲內存,所以我們需要將圖片壓縮為占用內存較小的圖片

實現

復制這個類過去就可以使用,根據自己需求修改即可

package com.util;import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;/*** 圖片處理類** @author yyq*/ public class ImageUtil {/*** 生成縮略圖** @param oidPath 文件大小* @param newPath 原文件路徑* @param smallSize 文件壓縮倍數* @return*/public static boolean imageGenerateSmall(String oidPath, String newPath, double smallSize) {try {File bigFile = new File(oidPath);Image image = ImageIO.read(bigFile);int width = image.getWidth(null);int height = image.getHeight(null);int widthSmall = (int) (width / smallSize);int heightSmall = (int) (height / smallSize);BufferedImage buffi = new BufferedImage(widthSmall, heightSmall, BufferedImage.TYPE_INT_RGB);Graphics g = buffi.getGraphics();g.drawImage(image, 0, 0, widthSmall, heightSmall, null);g.dispose();ImageIO.write(buffi, "jpg", new File(newPath));} catch (IOException e) {e.printStackTrace();return false;}return true;}/*** 圖片壓縮,圖片大小超過100K自動按比例壓縮到100K以下** @param fileSize 文件大小* @param oidPath 原文件路徑* @param newPath 壓縮后路徑* @return* @throws Exception*/public static boolean imageCompress(long fileSize, String oidPath, String newPath) throws Exception {boolean rs = true;int kb = 100 * 1024;if (fileSize > 100 * 1024) {int smallSize = (int) (fileSize % kb == 0 ? fileSize / kb : fileSize / kb + 1);double size = Math.ceil(Math.sqrt(smallSize));rs = ImageUtil.imageGenerateSmall(oidPath, newPath, size);}return rs;}public static void main(String[] args) throws Exception {File file = new File("D:\\Program Files\\1.jpg");System.out.println("--------------文件大小(byte)----------------:"+file.length());imageCompress(file.length(), "D:\\Program Files\\1.jpg", "D:\\Program Files\\2.jpg");}}

總結

以上是生活随笔為你收集整理的Java将图片压缩100KB以下,压缩图片,将几MB的图片压缩成100KB的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。