- 浏览: 216546 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
zjut_ww:
非常感谢分享。。但是我在使用过程中遇到一点小问题。就是如果用来 ...
java正则表达式找出不包含特定字符串 -
mohican52:
在吗,大哥
struts2首页forward跳转后执行action -
hz2005_2009:
Y轴中文问题怎么解决?
FusionChartsFree调用json数据的简单例子 -
xixian:
chenhao_yssy 写道把num换称9.985和9.99 ...
Doublel保留两位小数 -
chenhao_yssy:
把num换称9.985和9.995试试。
Doublel保留两位小数
近期项目要用到缩略图,上网查资料才发现原来Java对图片处理挺简单的
import java.io.*; import java.awt.*; import java.awt.image.*; import java.awt.Graphics; import java.awt.color.ColorSpace; import javax.imageio.ImageIO; public class ChangeImageSize { /** *//** * 缩放图像 * @param srcImageFile 源图像文件地址 * @param result 缩放后的图像地址 * @param scale 缩放比例 * @param flag 缩放选择:true 放大; false 缩小; */ public 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(); } } /** *//** * 图像切割 * @param srcImageFile 源图像地址 * @param descDir 切片目标文件夹 * @param destWidth 目标切片宽度 * @param destHeight 目标切片高度 */ public static void cut(String srcImageFile, String descDir, int destWidth, int destHeight) { try { Image img; ImageFilter cropFilter; // 读取源图像 BufferedImage bi = ImageIO.read(new File(srcImageFile)); int srcWidth = bi.getHeight(); // 源图宽度 int srcHeight = bi.getWidth(); // 源图高度 if (srcWidth > destWidth && srcHeight > destHeight) { Image image = bi.getScaledInstance(srcWidth, srcHeight, Image.SCALE_DEFAULT); destWidth = 200; // 切片宽度 destHeight = 150; // 切片高度 int cols = 0; // 切片横向数量 int rows = 0; // 切片纵向数量 // 计算切片的横向和纵向数量 if (srcWidth % destWidth == 0) { cols = srcWidth / destWidth; } else { cols = (int) Math.floor(srcWidth / destWidth) + 1; } if (srcHeight % destHeight == 0) { rows = srcHeight / destHeight; } else { rows = (int) Math.floor(srcHeight / destHeight) + 1; } // 循环建立切片 // 改进的想法:是否可用多线程加快切割速度 for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { // 四个参数分别为图像起点坐标和宽高 // 即: CropImageFilter(int x,int y,int width,int height) cropFilter = new CropImageFilter(j * 200, i * 150, destWidth, destHeight); img = Toolkit.getDefaultToolkit().createImage( new FilteredImageSource(image.getSource(), cropFilter)); BufferedImage tag = new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics(); g.drawImage(img, 0, 0, null); // 绘制缩小后的图 g.dispose(); // 输出为文件 ImageIO.write(tag, "JPEG", new File(descDir + "pre_map_" + i + "_" + j + ".jpg")); } } } } catch (Exception e) { e.printStackTrace(); } } /** *//** * 图像类型转换 GIF->JPG GIF->PNG PNG->JPG PNG->GIF(X) */ public static void convert(String source, String result) { try { File f = new File(source); f.canRead(); f.canWrite(); BufferedImage src = ImageIO.read(f); ImageIO.write(src, "JPG", new File(result)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** *//** * 彩色转为黑白 * @param source * @param result */ public static void gray(String source, String result) { try { BufferedImage src = ImageIO.read(new File(source)); ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); ColorConvertOp op = new ColorConvertOp(cs, null); src = op.filter(src, null); ImageIO.write(src, "JPEG", new File(result)); } catch (IOException e) { e.printStackTrace(); } } /** *//** * @param args */ public static void main(String[] args) { scale("1.jpg","11.jpg",5,false); } }
- javaImage.rar (88.8 KB)
- 下载次数: 0
发表评论
-
Java编程中“为了性能”需做的26件事
2013-01-09 09:47 793转载于 http://www.csdn.net/arti ... -
spring xml
2012-11-08 16:04 0<?xml version="1.0 ... -
Java反射机制
2012-10-28 22:06 778参见 http://blog.csdn.net/njcheny ... -
Hibernate取出需要用到的部分字段
2012-08-14 11:26 2336hibernate当数据对象有关联的对象时候,查询该数据对象, ... -
session查找
2012-06-15 20:09 0public HistoryBean findHisto ... -
java生成验证码
2012-05-07 14:26 0public void imaAjax() ... -
lucene的检索方式
2012-05-02 17:23 975Lucene 简介 Lucene 是一个基于 Java 的全文 ... -
在过滤器中通过spring上下文获取bean
2012-04-29 14:30 3593在过滤器中通过spring上下文获取bean publ ... -
tomcat配置Gzip 压缩进行优化
2012-04-18 18:02 1318Gzip 压缩可以大大提高浏览网站的速度,它的原理是,在客 ... -
配置文件
2012-04-18 14:32 0struts-interceptor.xml & ... -
json工具类
2012-04-18 14:14 0json-lib-2.2.3-jdk15.jar pac ... -
lucene的简单例子
2012-04-18 09:59 0配置文件 jdbc.driverClassName = ... -
获取tomcat项目地址
2012-04-10 14:31 0private String projectName=&quo ... -
EhCache总结
2012-04-09 16:48 0EhCache总结 1 概述 1.1 ... -
java正则表达式找出特定格式语句的关键字
2012-02-04 10:27 2888中文问句语句分析需要提取问句中的关键字 例子1 这个是什么牌子 ... -
java正则表达式找出不包含特定字符串
2011-12-24 11:45 12524参考资料 http://www.imkevinyang.com ... -
java重载
2011-12-19 11:01 0重载:方法名称相同,参数的类型或个数不同,此时称为方法的重载, ... -
tomcat6 the apr based apache tomcat native library...报错处理
2011-12-10 11:25 936tomcat6突然启动不了,看到启动时候有下面提示 The ... -
Tomcat:IOException while loading persisted sessions: java.io.EOFException解决方法
2011-12-10 11:22 774tomcat本来正常,突然启动报错如下 严重: IOExce ... -
获取jar包里面的文件
2011-12-07 14:30 1012资料参考于 http://hxraid.iteye.com/b ...
相关推荐
SimpleImage是阿里巴巴的一个Java图片处理的类库,可以实现图片缩略、水印等处理。 SimpleImage中的ImageRender是图片处理的基类,它是一个抽象类,我们看到,该类中定义了一个抽象方法render(),同时持有一个对...
Java图片处理工具ImageMagick是一个强大的跨平台图形处理库,它允许开发人员在Java应用程序中进行复杂的图像操作,包括但不限于转换、编辑、合成图像以及处理大量格式的图像文件。ImageMagick是由C语言编写的,但...
java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 java 图片处理工具类 ...
这是一个Java图片处理程序。 Java 开源代码,高手学习 java 图片处理源码
文件内含java 处理图片大小等比例缩放,指定颜色改变颜色。根据不同图片设置阴影图片。
在Java编程语言中,处理...综上所述,这段代码展示了Java如何利用AWT库进行图片处理,包括添加图片和文字水印,以及处理透明度和定位。这些都是Java图形处理的基本技术,对于开发涉及图像编辑和处理的应用非常有用。
在Java编程领域,图片处理是一项常见的任务,尤其是在网站开发、移动应用或者数据分析中。这个"java 图片处理类"提供了一种便捷的方式,用于给图片添加水印以及压缩图片,这是开发过程中非常实用的功能。下面将详细...
Java图片处理类是Java编程语言中用于操作和处理图像文件的核心技术,主要涉及Java的AWT(Abstract Window Toolkit)和Swing库。在Java课程设计中,学生通常会被要求掌握这些概念并应用到实际项目中,例如创建一个...
java图片缩放 java缩略图 缩略图 java图片处理
java图片处理工具类JAR包 java-image-scalingjar
java图片处理 根据大小获取指定大小图片 以及图片尺寸处理 等等java图片处理 根据大小获取指定大小图片 以及图片尺寸处理 等等java图片处理 根据大小获取指定大小图片 以及图片尺寸处理 等等java图片处理 根据大小...
这里我们关注的是“rt java图片处理jar包”,这个标题暗示了一个专门用于处理图片的Java库,可能封装了一些方便开发者使用的API。描述中的“图片水印处理,java图片处理”进一步确认了这个库的主要功能之一是添加...
Java 图片处理解决方案:ImageMagick 快速入门教程 Java 图片处理解决方案中,ImageMagick 是一个免费的创建、编辑、合成图片的软件,可以实现图片切割、颜色替换、图片缩略图、图片水印等各种效果。ImageMagick 是...
java 图片处理 切图代码 实现自动缩放图片
图片添加水印图片、可设置水印图片旋转角度;图片添加水印文字(自动换行)、可设置水印文字的旋转角度;获取文本所占长度像素;图片截取;图片高质量缩放;图片png格式缩放;图片克隆副本;读取图片对象;图片输出 ...
Java 图片处理库Java Advanced Imaging (JAI) 是一个强大的工具,用于在Java环境中进行复杂的图像操作和处理。这个库提供了丰富的功能,包括但不限于图片的读取、写入、旋转、缩放、颜色空间转换以及各种滤镜应用。...
Java图片处理-生成火焰效果,public class FirePicApplet extends Applet implements Runnable{ private Image backImage,foreImage; //前景和背景Image对象 private Image image,fireImage; //Applet和绘制...
这是一个java生成随即图片验证码,java图片压缩,java图片水印 ,java图片裁剪 ,java图片旋转 ,java图片放大缩小等工具类,里面有测试方法,欢迎使用!