package com.function;

import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException; import javax.imageio.ImageIO;
/*
* 这是一个压缩图片的实现类
*/
public class Tools_CompressPictures {
public void compressPicture(String srcImage,String tarImage) {
File srcImageFile = new File(srcImage);
File tarImageFile = new File(tarImage);
// 生成图片转化对象
AffineTransform transform = new AffineTransform();
// 通过缓存读入缓存对象
BufferedImage image = null;
try {
image = ImageIO.read(srcImageFile);
} catch (IOException e) {
e.printStackTrace();
}
int imageWidth = image.getWidth();//原图片的高度
int imageHeight = image.getHeight();//原图片的宽度
int changeWidth = 640;//压缩后图片的高度
int changeHeight = 480;//压缩后图片的宽度
double scaleWidth = 0;// 定义小图片和原图片比例
double scaleHeight = 0;
scaleWidth = (double) changeWidth / (double) imageWidth;
scaleHeight = (double) changeHeight / (double) imageHeight;
// 生成转换比例
transform.setToScale(scaleWidth, scaleHeight);
// 生成转换操作对象
AffineTransformOp transOp = new AffineTransformOp(transform, null);
//生成压缩图片缓冲对象
BufferedImage basll = new BufferedImage(changeWidth, changeHeight,
BufferedImage.TYPE_3BYTE_BGR);
//生成缩小图片
transOp.filter(image, basll);
try {
//输出缩小图片
ImageIO.write(basll, "jpg",tarImageFile);
} catch (IOException e) {
e.printStackTrace();
} } }
 

Java压缩图片的实现类的更多相关文章

  1. Java操作图片的工具类

    操作图片的工具类: import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.a ...

  2. 【转】java缩放图片、java裁剪图片代码工具类

    一首先看下效果 二工具类 三测试类 在系统的上传图片功能中,我们无法控制用户上传图片的大小,用户可能会上传大到几十M小到1k的的图片,一方面图片太大占据了太多的空间,另一方面,我们没办法在页面上显示统 ...

  3. Java压缩图片

    阅读目录 前言 压缩的要求 实现 优点 其他功能 前言 作为靠谱的java服务端程序员,图片这个事情一直是个头疼的事情. 现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的 ...

  4. Java的图片处理工具类

    import Java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...

  5. Java 压缩文件夹工具类(包含解压)

    依赖jar <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons ...

  6. java 压缩图片(只缩小体积,不更改图片尺寸)

      1.情景展示 在调用腾讯身份证OCR接口的时候,由于要求图片大小只能限制在1MB以内,这样,就必须使用到图片压缩技术 2.代码展示 /** * 图片处理工具类 * @explain * @auth ...

  7. java压缩图片设置宽高

    package html2pdf_2; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; ...

  8. JAVA压缩图片 服务器端压缩图片 原创

    @RequestMapping(value = "/uploadImage", method = RequestMethod.POST) @ResponseBody public ...

  9. android -------- 压缩图片文件工具类

    项目中常常遇到文件压缩问题,上传文件大小限制 今天简单的分享一点干货,文件压缩,图片压缩,压缩Bitmap 主要通过尺寸压缩和质量压缩,以达到清晰度最优 效果图 源码地址: https://githu ...

随机推荐

  1. 大数据框架hadoop服务角色介绍

    翻了一下最近一段时间写的分享,DKHadoop发行版本下载.安装.运行环境部署等相关内容几乎都已经写了一遍了.虽然有的地方可能写的不是很详细,个人理解水平有限还请见谅吧!我记得在写DKHadoop运行 ...

  2. A* search算法

    今天,还是国庆和中秋双节的时间节点,一个天气不错的日子,孩子已经早早的睡觉了,玩了一整天,也不睡觉,累的实在扛不住了,勉强洗澡结束,倒床即睡着的节奏... 不多说题外话,进入正题. 什么是A*搜索算法 ...

  3. ueditor图片上传和显示问题

    图片上传: 这段是contorller代码 @RequestMapping(value = "/uploadImg", method = RequestMethod.POST) @ ...

  4. django 数据模型中 null=True 和 blank=True 有什么区别

    null: If True, Django will store empty values as NULL in the database. Default is False. 如果为True,空值将 ...

  5. mirror op 如果在windows receiver上是黑屏

    mirror op 如果在windows receiver上是黑屏,手机上要重启下再打开mirror op.(手机是一加3 安卓7.0)

  6. Windows Azure Virtual Network (12) 虚拟网络之间点对点连接VNet Peering

    <Windows Azure Platform 系列文章目录> 在有些时候,我们需要通过VNet Peering,把两个虚拟网络通过内网互通互联.比如: 1.在订阅A里的Virtual N ...

  7. DS哈希查找--线性探测再散列

    题目描述 定义哈希函数为H(key) = key%11.输入表长(大于.等于11),输入关键字集合,用线性探测再散列构建哈希表,并查找给定关键字. --程序要求-- 若使用C++只能include一个 ...

  8. Tablacus Explorer双心封装版

    Tablacus Explorer双心封装版 http://cloud.189.cn/t/mYj67j7r2Afq (TablacusExplorer17.3.27双心封装版.exe) http:// ...

  9. vue中滚动事件绑定的函数无法调用问题

    问题描述: 一个包含下拉加载的页面,刷新当前页然后滚动页面,能够正常触发滚动事件并调用回调函数,但是如果是进了某一个页面然后再进的该页面,滚动事件能够触发, 但是回调函数在滚动的时候只能被调用一次. ...

  10. 通过分析Ajax请求 抓取今日头条街拍图集

    代码: import os import re import json import time from hashlib import md5 from multiprocessing import ...