java处理图片的所有类_Java的图片处理工具类
Java的图片处理工具类: 可实现以下常用功能:缩放图像、切割图像、图像类型转换、彩色转黑白、文字水
Java的图片处理工具类:
可实现以下常用功能:缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.color.ColorSpace;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.awt.image.ColorConvertOp;
import java.awt.image.CropImageFilter;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* 图片处理工具类:
* 功能:缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等
* @author Administrator
*/
public class ImageUtils {
/**
* 几种常见的图片格式
*/
public static String IMAGE_TYPE_GIF = "gif";// 图形交换格式
public static String IMAGE_TYPE_JPG = "jpg";// 联合照片专家组
public static String IMAGE_TYPE_JPEG = "jpeg";// 联合照片专家组
public static String IMAGE_TYPE_BMP = "bmp";// 英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式
public static String IMAGE_TYPE_PNG = "png";// 可移植网络图形
public static String IMAGE_TYPE_PSD = "psd";// Photoshop的专用格式Photoshop
/**
* 程序入口:用于测试
* @param args
*/
public static void main(String[] args) {
// 1-缩放图像:
// 方法一:按比例缩放
ImageUtils.scale("e:/abc.jpg", "e:/abc_scale.jpg", 2, true);//测试OK
// 方法二:按高度和宽度缩放
ImageUtils.scale2("e:/abc.jpg", "e:/abc_scale2.jpg", 500, 300, true);//测试OK
// 2-切割图像:
// 方法一:按指定起点坐标和宽高切割
ImageUtils.cut("e:/abc.jpg", "e:/abc_cut.jpg", 0, 0, 400, 400 );//测试OK
// 方法二:指定切片的行数和列数
ImageUtils.cut2("e:/abc.jpg", "e:/", 2, 2 );//测试OK
// 方法三:指定切片的宽度和高度
ImageUtils.cut3("e:/abc.jpg", "e:/", 300, 300 );//测试OK
// 3-图像类型转换:
ImageUtils.convert("e:/abc.jpg", "GIF", "e:/abc_convert.gif");//测试OK
// 4-彩色转黑白:
ImageUtils.gray("e:/abc.jpg", "e:/abc_gray.jpg");//测试OK
// 5-给图片添加文字水印:
// 方法一:
ImageUtils.pressText("我是水印文字","e:/abc.jpg","e:/abc_pressText.jpg","宋体",Font.BOLD,Color.white,80, 0, 0, 0.5f);//测试OK
// 方法二:
ImageUtils.pressText2("我也是水印文字", "e:/abc.jpg","e:/abc_pressText2.jpg", "黑体", 36, Color.white, 80, 0, 0, 0.5f);//测试OK
// 6-给图片添加图片水印:
ImageUtils.pressImage("e:/abc2.jpg", "e:/abc.jpg","e:/abc_pressImage.jpg", 0, 0, 0.5f);//测试OK
}
/**
* 缩放图像(按比例缩放)
* @param srcImageFile 源图像文件地址
* @param result 缩放后的图像地址
* @param scale 缩放比例
* @param flag 缩放选择:true 放大; false 缩小;
*/
public final static void scale(String srcImageFile, String result,
int scale, boolean flag) {
try {
BufferedImage src = ImageIO.read(new File(srcImageFile)); // 读入文件
int width = src.getWidth(); // 得到源图宽
int height = src.getHeight(); // 得到源图长
if (flag) {// 放大
width = width * scale;
height = height * scale;
} else {// 缩小
width = width / scale;
height = height / scale;
}
Image image = src.getScaledInstance(width, height,
Image.SCALE_DEFAULT);
BufferedImage tag = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(image, 0, 0, null); // 绘制缩小后的图
g.dispose();
ImageIO.write(tag, "JPEG", new File(result));// 输出到文件流
} catch (IOException e) {
e.printStackTrace();
}
}
java处理图片的所有类_Java的图片处理工具类相关推荐
- java生成验证码工具类_Java生成图形验证码工具类
生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...
- java中的并发类_java中并发常用工具类
前言:在你无聊的时候,想想比你优秀还努力的人,也许就不觉的无聊了 今天下午没事干把买的java并发编程艺术这本书拿出来看了看,看了下也记不住,还是好记性不如烂笔头,今天讲四个并发中可能会用到的工具类, ...
- java json 工具类_Java中JSON处理工具类使用详解
本文实例为大家分享了JSON处理工具类的具体代码,供大家参考,具体内容如下 import java.io.IOException; import java.util.Date; import java ...
- java list排序工具类_java 之 Collections集合工具类排序
数组有工具类Arrays,集合也有一个工具类Collections. sort方法: sort(List list):根据其元素natural ordering对制定的列表进行排序 sort(List ...
- java多线程aqs实现工具类_Java并发多线程 - 并发工具类JUC
(adsbygoogle = window.adsbygoogle || []).push({}); 安全共享对象策略 1.线程限制 : 一个被线程限制的对象,由线程独占,并且只能被占有它的线程修改 ...
- md5 java 工具类_Java实现一个MD5工具类
I. MD5工具类 利用JDK封装一个简易的MD5工具类,逻辑比较简单,直接贴下具体实现 public static String getMD5(String content) { String re ...
- java 集合工具类_Java集合中Collections工具类总结
Collections工具类 Collections 是一个操作 Collection(Set. List )和 Map 等集合的工具类 Collection和Collections的区别? Coll ...
- java http请求 工具类_Java 实现 Http 请求工具类
1 packagecom.demo.util;2 3 importjava.io.BufferedReader;4 importjava.io.IOException;5 importjava.io. ...
- java sqlserver工具类_Java连接sqlserver数据库工具类
直接上代码web public class SqlUtils { private static final String DRIVERCLASS; private static final Strin ...
- linux 图片编辑 java_Java的图片处理工具类
Java的图片处理工具类: 可实现以下常用功能:缩放图像.切割图像.图像类型转换.彩色转黑白.文字水印.图片水印等 import java.awt.AlphaComposite; import jav ...
最新文章
- 每天一个linux命令(27):linux chmod命令
- Amazon DynamoDB 入门2:工作原理、API和数据类型介绍
- gsoap写一个c++ webservice
- 将c语言转换成汇编语言的软件,如何把汇编语言转换成C语言
- 诸如fluke等网络测试仪的工作原理简介
- “我将 20 年前开发的操作系统迁移到 .NET 6,居然成功了”
- 微软:这两个活动目录漏洞可使攻击者轻易接管 Windows 域名
- 蓝桥杯 ALGO-73 算法训练 统计字符次数
- python自助电影售票机_手把手教你用python抢票回家过年(代码简单)
- 数据科学包1---numpy
- 软件类配置(二)【Windows中安装python、pycharm、opencv、anaconda】
- java脚本语言 dim_写给新手windows脚本的入门
- Java Keytool工具简介
- Spring Data 数据库建模最佳实践
- 蓝牙耳机连接电脑,找不到stereo模式
- 多点生活的分布式服务框架DSF
- Java有序数组——原地去重——不使用额外空间
- 虚拟主播合成视频使用教程
- 一些有趣的软件分享,给生活带来一点乐趣
- cordova获取手机IMEI