亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java實(shí)現(xiàn)壓縮圖片大小

 更新時(shí)間:2022年04月22日 11:34:07   作者:在下令狐  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)壓縮圖片大小,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)壓縮圖片大小的具體代碼,供大家參考,具體內(nèi)容如下

使用場(chǎng)景:

1.當(dāng)使用圖片上傳功能時(shí),上傳圖片太大,造成對(duì)服務(wù)器資源過(guò)多的占用
2.客戶端上傳圖片尺寸大小不一,前端需要展示給用戶固定尺寸時(shí),可通過(guò)java進(jìn)行對(duì)上傳圖片統(tǒng)一進(jìn)行處理

功能預(yù)覽

1.壓縮前

2.壓縮后

代碼實(shí)現(xiàn):

package com.linghu.test;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/*
?* @author 在下令狐
?* @describe ?壓縮圖片大小
?* @date 2020/6/12
?*/
public class TestCompressImage {
? ? public static void main(String[] args) {
? ? ? ? try {
? ? ? ? ? ? //圖片所在路徑
? ? ? ? ? ? BufferedImage templateImage = ImageIO.read(new File("f:/temp/linghu.jpg"));


? ? ? ? ? ? //原始圖片的長(zhǎng)度和寬度
? ? ? ? ? ? int height = templateImage.getHeight();
? ? ? ? ? ? int width = templateImage.getWidth();

? ? ? ? ? ? //通過(guò)比例壓縮
? ? ? ? ? ? float scale = 0.5f;

? ? ? ? ? ? //通過(guò)固定長(zhǎng)度壓縮
? ? ? ? ? ? /*int doWithHeight = 100;
? ? ? ? ? ? int dowithWidth = 300;*/

? ? ? ? ? ? //壓縮之后的長(zhǎng)度和寬度
? ? ? ? ? ? int doWithHeight = (int) (scale * height);
? ? ? ? ? ? int dowithWidth = (int) (scale * width);

? ? ? ? ? ? BufferedImage finalImage = new BufferedImage(dowithWidth, doWithHeight, BufferedImage.TYPE_INT_RGB);

? ? ? ? ? ? finalImage.getGraphics().drawImage(templateImage.getScaledInstance(dowithWidth, doWithHeight, java.awt.Image.SCALE_SMOOTH), 0, 0, null);


? ? ? ? ? ? //圖片輸出路徑,以及圖片名
? ? ? ? ? ? FileOutputStream ?fileOutputStream = new FileOutputStream("f:/temp/linghuAfterDoWith.jpg");
? ? ? ? ? ? JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fileOutputStream);
? ? ? ? ? ? encoder.encode(finalImage);
? ? ? ? ? ? fileOutputStream.close();
? ? ? ? } catch (IOException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Oracle + Mybatis實(shí)現(xiàn)批量插入、更新和刪除示例代碼

    Oracle + Mybatis實(shí)現(xiàn)批量插入、更新和刪除示例代碼

    利用MyBatis動(dòng)態(tài)SQL的特性,我們可以做一些批量的操作,下面這篇文章主要給大家介紹了關(guān)于Oracle + Mybatis實(shí)現(xiàn)批量插入、更新和刪除的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2018-01-01
  • 教新手使用java如何對(duì)一個(gè)大的文本文件內(nèi)容進(jìn)行去重

    教新手使用java如何對(duì)一個(gè)大的文本文件內(nèi)容進(jìn)行去重

    用HashSet對(duì)內(nèi)容去重這個(gè)過(guò)程jvm會(huì)內(nèi)存溢出,只能首先將這個(gè)大文件中的內(nèi)容讀取出來(lái),對(duì)每行String的hashCode取模取正整數(shù),可用取模結(jié)果作為文件名,將相同模數(shù)的行寫(xiě)入同一個(gè)文件,再單獨(dú)對(duì)每個(gè)小文件進(jìn)行去重,最后再合并
    2021-06-06
  • SpringBoot項(xiàng)目配置數(shù)據(jù)庫(kù)密碼加密相關(guān)代碼

    SpringBoot項(xiàng)目配置數(shù)據(jù)庫(kù)密碼加密相關(guān)代碼

    這篇文章主要介紹了SpringBoot項(xiàng)目配置數(shù)據(jù)庫(kù)密碼加密的相關(guān)資料,本文介紹了在Springboot項(xiàng)目中配置數(shù)據(jù)庫(kù)連接時(shí)存在的安全問(wèn)題,即用戶名和密碼以明文形式存儲(chǔ),容易泄露,提出了一種簡(jiǎn)單的加密方案,需要的朋友可以參考下
    2024-11-11
  • Spring全局異常捕獲不生效問(wèn)題的解決辦法

    Spring全局異常捕獲不生效問(wèn)題的解決辦法

    Spring項(xiàng)目全局異常處理不生效,登錄接口報(bào)錯(cuò)異常信息被直接返回到接口響應(yīng)中,本文給大家介紹了Spring全局異常捕獲不生效問(wèn)題的解決辦法,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下
    2024-04-04
  • java實(shí)現(xiàn)哈夫曼文件解壓縮

    java實(shí)現(xiàn)哈夫曼文件解壓縮

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)哈夫曼文件解壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 一篇文章帶你學(xué)會(huì)Spring?MVC表單標(biāo)簽

    一篇文章帶你學(xué)會(huì)Spring?MVC表單標(biāo)簽

    Spring MVC表單標(biāo)簽是網(wǎng)頁(yè)的可配置和可重復(fù)使用的構(gòu)建塊,下面這篇文章主要給大家介紹了如何通過(guò)一篇文章學(xué)會(huì)Spring?MVC表單標(biāo)簽的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Spring Boot加密配置文件方法介紹

    Spring Boot加密配置文件方法介紹

    這篇文章主要介紹了SpringBoot加密配置文件,近期在對(duì)開(kāi)發(fā)框架安全策略方面進(jìn)行升級(jí)優(yōu)化,提供一些通用場(chǎng)景的解決方案,本文針對(duì)配置文件加密進(jìn)行簡(jiǎn)單的分享
    2023-01-01
  • JAVA中Collections工具類sort()排序方法

    JAVA中Collections工具類sort()排序方法

    這篇文章主要介紹了JAVA中Collections工具類sort()排序方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2016-11-11
  • dubbo整合springboot新手入門(mén)教程詳解

    dubbo整合springboot新手入門(mén)教程詳解

    這篇文章主要介紹了dubbo整合springboot新手入門(mén)詳解,當(dāng)一臺(tái)計(jì)算機(jī)的程序需要調(diào)用另一臺(tái)計(jì)算機(jī)代碼的時(shí)候,就涉及遠(yuǎn)程調(diào)用。此時(shí)dubbo就粉末登場(chǎng)了,需要的朋友可以參考下
    2019-07-07
  • SpringBoot整合JWT實(shí)戰(zhàn)教程

    SpringBoot整合JWT實(shí)戰(zhàn)教程

    JWT(JSON?Web?Token)是一種用于身份驗(yàn)證和授權(quán)的開(kāi)放標(biāo)準(zhǔn)(RFC?7519),它使用JSON格式傳輸信息,可以在不同系統(tǒng)之間安全地傳遞數(shù)據(jù),這篇文章主要介紹了SpringBoot整合JWT實(shí)戰(zhàn)教程,需要的朋友可以參考下
    2023-06-06

最新評(píng)論