- 浏览: 117263 次
- 来自: ...
文章分类
最新评论
-
x影千绝:
...
JDBC addbatch批量处理数据时有最大值限制 -
hunnuxiaobo:
为什么呢?
JDBC addbatch批量处理数据时有最大值限制 -
天涯海角tour:
是啊? 我在7.1下就装不上jbpm4.4,按你这着方法
MyEclipse7.1插件安装 -
t8500071:
原来exec后是子进程,怪不得我怎么看都不像是一个完全独立的进 ...
Java的多进程运行模式分析 -
海阔天空love:
很实用 。。。能给个例子吗?
现有的Web打印控制技术分成几种方案
http://hi.baidu.com/bdusnb/blog/item/c8b4a3f34e2c3557342acc0c.html
java压缩图片类
2009-01-08 11:19
package com.mobi5.commons.domain.logic; import java.io.File; import java.io.FileOutputStream; import java.awt.Graphics; import java.awt.Image; import java.awt.*; import java.awt.image.BufferedImage; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class Imgproce { private int wideth; private int height; private String t=null; public void setT(String t) { this.t=t; } public void setWideth(int wideth) { this.wideth=wideth; } public int getWideth() { return this.wideth; } public void setHeight(int height) { this.height=height; } public int getHeight(int w,int h) //former images size { int hhh; if(w > wideth) { float ww; ww = (float) w / (float) wideth; float hh = h / ww; return (int) hh; } else { this.setWideth(w); return h; } } public void proce(String fpath) throws Exception { File _file = new File(fpath); System.out.println("-------"+fpath); Image src = javax.imageio.ImageIO.read(_file); int wideth=src.getWidth(null); int height=src.getHeight(null); int h=this.getHeight(wideth,height); BufferedImage tag = new BufferedImage(this.getWideth(),h,BufferedImage.TYPE_INT_RGB); Graphics g=tag.getGraphics(); g.drawImage(src, 65, 60, this.getWideth(), h, null); if(t!=null) { g.setColor(new Color(242,242,242)); g.fillRect(this.getWideth() - 120, h - 18,120,18); g.setColor(new Color(180,180,180)); g.drawRect(this.getWideth() - 120, h - 18,119,17); g.setColor(new Color(255,102,0)); g.drawString(t, this.getWideth() - 100, h - 5); } FileOutputStream out=new FileOutputStream(fpath); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); out.close(); } }
java压缩图片类
2009-01-08 11:19
import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class PicCompression { private int wideth; private int height; private String t = null; public void setT(String t) { this.t = t; } public void setWideth(int wideth) { // wideth=320; this.wideth = wideth; } public int getWideth() { return this.wideth; } public void setHeight(int height) { // height=240; this.height = height; } public int getHeight(int w, int h) // former images size { // int hhh; if (w > wideth) { float ww; ww = (float) w / (float) wideth; float hh = h / ww; return (int) hh; } else { this.setWideth(w); return h; } } public void proce(String fpath) throws Exception { File _file = new File(fpath); Image src = javax.imageio.ImageIO.read(_file); int wideth = src.getWidth(null); int height = src.getHeight(null); int h = this.getHeight(wideth, height); BufferedImage tag = new BufferedImage(this.getWideth(), h, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics(); g.drawImage(src, 0, 0, this.getWideth(), h, null); if (t != null) { g.setColor(new Color(242, 242, 242)); g.fillRect(this.getWideth() - 120, h - 18, 120, 18); g.setColor(new Color(180, 180, 180)); g.drawRect(this.getWideth() - 120, h - 18, 119, 17); g.setColor(new Color(255, 102, 0)); g.drawString(t, this.getWideth() - 100, h - 5); } FileOutputStream out = new FileOutputStream(fpath); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); out.close(); } /** * 压缩图片方法 * * @param oldFile * 将要压缩的图片 * @param width * 压缩宽 * @param height * 压缩长 * @param quality * 压缩清晰度 <b>建议为1.0</b> * @param smallIcon * 压缩图片后,添加的扩展名 * @return */ public String proce1(String oldFile, int width, int height, float quality, String smallIcon) { if (oldFile == null) { return null; } String newImage = null; try { File file = new File(oldFile); if(!file.exists()) //文件不存在时 return null; /** 对服务器上的临时文件进行处理 */ Image srcFile = ImageIO.read(file); // 为等比缩放计算输出的图片宽度及高度 double rate1 = ((double) srcFile.getWidth(null)) / (double) width + 0.1; double rate2 = ((double) srcFile.getHeight(null)) / (double) height + 0.1; double rate = rate1 > rate2 ? rate1 : rate2; int new_w = (int) (((double) srcFile.getWidth(null)) / rate); int new_h = (int) (((double) srcFile.getHeight(null)) / rate); /** 宽,高设定 */ BufferedImage tag = new BufferedImage(new_w, new_h, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(srcFile, 0, 0, new_w, new_h, null); String filePrex = oldFile.substring(0, oldFile.indexOf('.')); /** 压缩后的文件名 */ // newImage =smallIcon + filePrex // +oldFile.substring(filePrex.length()); newImage = filePrex + smallIcon + oldFile.substring(filePrex.length()); // newImage = smallIcon; /** 压缩之后临时存放位置 */ FileOutputStream out = new FileOutputStream(newImage); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag); /** 压缩质量 */ jep.setQuality(quality, true); encoder.encode(tag, jep); out.close(); srcFile.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return newImage; } // public static void main(String str[]) { PicCompression ps = new PicCompression(); try { System.out.println(ps.proce1("D:/My Documents/My Pictures/5.jpg", 640, 480, 1, "1")); System.out.println(ps.proce1("D:/My Documents/My Pictures/5.jpg", 240, 240, 1, "2")); System.out.print("成功哦"); } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
thinkpad T440P 无线网卡睡眠恢复后无法上网故障的解决
2014-08-06 23:54 2567现象:thinkpad T440P 无线网卡睡眠恢复后无法上网 ... -
myeclipse10.7.1注册及导出war异常的破解
2013-03-02 12:55 7一、原作者的破解程序在myeclipse10.7.1环境下测试 ... -
tcnative-1_dll下载地址
2012-04-09 22:31 1080tcnative-1.dll下载地址: http://arch ... -
转:权限的分类
2011-09-30 16:59 1075权限主要分两大类:一是功能权限,二是数据权限。 功能权 ... -
转:表单同时提交多条记录
2011-09-07 09:38 2506http://zhidao.baidu.com/questio ... -
立即行动 拯救JAVA
2011-04-02 09:12 827通过Oracle目前的各种行动,我可以肯定它会比微软更 ... -
转:java获取根路径有两种方式
2010-09-04 22:49 2476http://java.chinaitlab.com/net/ ... -
转:多路归并排序(远远大于内存的数据进行外排序)
2010-08-20 16:38 1893http://hi.baidu.com/qq350884961 ... -
转:两个字母搞定J2EE通用分页标签
2010-06-16 15:59 1421两个字母搞定J2EE通用分 ... -
系统中那些部分可以提取为公共部分?
2010-06-12 18:39 822我目前能想到的就是: 分页、上传、通用DAO层、控制层、数据字 ... -
转:Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)
2010-06-09 09:22 1116http://hi.baidu.com/vip099/blog ... -
c3p0 no bug but the windows xp have
2010-05-31 08:33 17205月30日,用了一天的时间在找一个c3p0的bug,但没有找到 ... -
转:如何利用eclipse实现批量修改文件的编码方式
2010-05-29 14:02 3500原文地址:http://dev.firnow.com/cour ... -
转载:教你彻底解决 Tomcat 5下文字乱码问题
2010-03-04 20:30 892http://tech.ccidnet.com/art/353 ... -
JDBC addbatch批量处理数据时有最大值限制
2009-12-27 13:29 7917在用jdbc向数据灌入数据时,发现120000的数据每次只能灌 ... -
网站如何赚钱
2009-05-28 13:30 609很多朋友,特别是对网 ... -
走进Java 7中的模块系统
2009-05-15 09:44 991http://developer.51cto.com/art/ ... -
MyEclipse7.1插件安装
2009-04-28 11:06 3571最近刚使用MyEclise 7.1 ,发现期插件安装与以前有所 ... -
Java的多进程运行模式分析
2009-04-25 21:05 1173一般我们在Java中运行其它类中的方法时,无论是静态调用,还是 ... -
Erlang与JAVA的交互操作
2009-04-23 08:54 1572http://www.lupaworld.com/action ...
相关推荐
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
以上就是Java中压缩图片的几种常见方法,可以根据项目需求和性能考虑选择合适的方式。在实际应用中,除了调整尺寸,还可以通过设置JPEG的压缩质量来进一步减小文件大小。例如,`ImageIO.write()`方法的第三个参数...
在Java中,压缩图片通常是为了减小文件大小,便于存储或传输,而同时尽可能保持图片质量。上述代码提供了一个名为`CompressPicTools`的类,专门用于压缩图片,保持图片原有的宽高比,同时控制压缩后的失真程度。下面...
### Java版图片压缩方法:不失真,不裁剪 在图像处理领域,特别是在Web开发中,图片的压缩处理是一项常见的需求。高效的图片压缩不仅可以优化网页加载速度,提升用户体验,还能节省存储空间。Java作为一种广泛使用...
Java压缩图片util,可等比例宽高不失真压缩,也可直接指定压缩后的宽高,只能用炫酷来形容,感兴趣就下载看看吧
- **库支持**:Java提供了多种库来支持图片压缩操作,包括`java.awt.image`包中的类如`BufferedImage`和`ImageIO`等。 - **示例代码解析**: - 使用`ImageIO.read()`读取图片文件。 - 使用`BufferedImage`来操作...
java 按比例压缩图片大小
在Java编程语言中,处理图片压缩是一项常见的任务,特别是在存储、传输或展示大量图像资源时。本主题将深入探讨如何使用Java实现图片压缩,并能够将其调整到任意大小,同时保持图片质量并避免变形。 首先,我们需要...
以下是压缩图片的示例代码: ```java public void compressImage(BufferedImage image, String outputFilePath, int targetWidth, int targetHeight, float quality) throws IOException { ImageOutputStream ...
本教程将专注于使用Java语言实现图片的等比缩放和压缩技术,以满足存储和传输的需求。下面,我们将深入探讨这些关键知识点。 首先,我们来了解等比缩放。等比缩放是指在改变图片尺寸时,保持其长宽比不变,防止图片...
JAVA等比例图片压缩
二、限制文件的大小,如果是图片则对图片进行压缩,如果是非图片,大于设定则不能上传 upLoad(String uploadPath,String filePath,String fileName,int commitSize,boolean flag) uploadPath代表上传目录,...
"图片按照指定宽度或高度等比例压缩图片以及裁剪图片"这个主题涉及到图像处理的关键技术,包括图像缩放和裁剪。接下来,我们将深入探讨这两个概念。 首先,**等比例压缩图片**是保持图片原有宽高比的情况下调整图片...
java中根据设置的宽高等比例压缩图片文件 先保存原文件,再压缩、上传
总的来说,`java_等比率压缩图片_转`这个主题涉及了Java图像处理的基础知识,包括读取、操作和保存图像,以及等比率压缩的算法。通过深入理解`ImageZip.java`的源码,我们可以学习到如何在实际项目中实现这些功能。...
以下是一个简单的例子,展示了如何使用Java 2D API压缩图片: ```java import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class ...
以下是一个基本的代码示例,展示如何使用Java标准库来压缩图片: ```java import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax....
zipWidthHeightImageFile方法可以根据设置的宽高等比例压缩图片文件,而zipImageFile方法可以根据设置的质量参数压缩图片文件。 在图片压缩过程中,需要考虑到图片的质量和大小,可以根据实际情况选择合适的压缩...
### Java等比例缩放图片知识点解析 在Java开发过程中,经常需要处理图片,尤其是在Web应用中,为了提高加载速度和优化用户体验,对上传的图片进行等比例缩放是一种常见的需求。下面将详细介绍如何使用Java实现图片...
在IT行业中,图片压缩和等比例放缩是图像处理领域中的常见操作,广泛应用于网站优化、存储管理和多媒体设计。下面将详细阐述这两个知识点。 一、图片压缩 图片压缩是为了减小图片文件的大小,以便更有效地存储和...