- 浏览: 216498 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
ranweizheng:
亲,第二个方法,应该是 i<ary.length-1 吧 ...
JS判断一个数组中是否有重复值的三种方法 -
liuzhenxingwinword:
spring线程池配置 -
flw521521:
好写法,赞
jquery 去除所有文本框输入值的前后空格 -
814687491:
数据查询出来后,如果你删除了其它几条数据人,我在不重新刷新页面 ...
jQuery Pagination 整理 -
D_ZLong:
...
IE与firefox兼容问题
源自:http://www.iteye.com/topic/266585
/** * 缩略图实现,将图片(jpg、bmp、png、gif等等)真实的变成想要的大小 */ package com.joewalker.test; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; 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.JPEGImageEncoder; /******************************************************************************* * 缩略图类(通用) 本java类能将jpg、bmp、png、gif图片文件,进行等比或非等比的大小转换。 具体使用方法 * compressPic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true)) */ public class CompressPicDemo { private File file = null; // 文件对象 private String inputDir; // 输入图路径 private String outputDir; // 输出图路径 private String inputFileName; // 输入图文件名 private String outputFileName; // 输出图文件名 private int outputWidth = 100; // 默认输出图片宽 private int outputHeight = 100; // 默认输出图片高 private boolean proportion = true; // 是否等比缩放标记(默认为等比缩放) public CompressPicDemo() { // 初始化变量 inputDir = ""; outputDir = ""; inputFileName = ""; outputFileName = ""; outputWidth = 100; outputHeight = 100; } public void setInputDir(String inputDir) { this.inputDir = inputDir; } public void setOutputDir(String outputDir) { this.outputDir = outputDir; } public void setInputFileName(String inputFileName) { this.inputFileName = inputFileName; } public void setOutputFileName(String outputFileName) { this.outputFileName = outputFileName; } public void setOutputWidth(int outputWidth) { this.outputWidth = outputWidth; } public void setOutputHeight(int outputHeight) { this.outputHeight = outputHeight; } public void setWidthAndHeight(int width, int height) { this.outputWidth = width; this.outputHeight = height; } /* * 获得图片大小 * 传入参数 String path :图片路径 */ public long getPicSize(String path) { file = new File(path); return file.length(); } // 图片处理 public String compressPic() { try { //获得源文件 file = new File(inputDir + inputFileName); if (!file.exists()) { return ""; } Image img = ImageIO.read(file); // 判断图片格式是否正确 if (img.getWidth(null) == -1) { System.out.println(" can't read,retry!" + "<BR>"); return "no"; } else { int newWidth; int newHeight; // 判断是否是等比缩放 if (this.proportion == true) { // 为等比缩放计算输出的图片宽度及高度 double rate1 = ((double) img.getWidth(null)) / (double) outputWidth + 0.1; double rate2 = ((double) img.getHeight(null)) / (double) outputHeight + 0.1; // 根据缩放比率大的进行缩放控制 double rate = rate1 > rate2 ? rate1 : rate2; newWidth = (int) (((double) img.getWidth(null)) / rate); newHeight = (int) (((double) img.getHeight(null)) / rate); } else { newWidth = outputWidth; // 输出的图片宽度 newHeight = outputHeight; // 输出的图片高度 } BufferedImage tag = new BufferedImage((int) newWidth, (int) newHeight, BufferedImage.TYPE_INT_RGB); /* * Image.SCALE_SMOOTH 的缩略算法 生成缩略图片的平滑度的 * 优先级比速度高 生成的图片质量比较好 但速度慢 */ tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null); FileOutputStream out = new FileOutputStream(outputDir + outputFileName); // JPEGImageEncoder可适用于其他图片类型的转换 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); out.close(); } } catch (IOException ex) { ex.printStackTrace(); } return "ok"; } public String compressPic (String inputDir, String outputDir, String inputFileName, String outputFileName) { // 输入图路径 this.inputDir = inputDir; // 输出图路径 this.outputDir = outputDir; // 输入图文件名 this.inputFileName = inputFileName; // 输出图文件名 this.outputFileName = outputFileName; return compressPic(); } public String compressPic(String inputDir, String outputDir, String inputFileName, String outputFileName, int width, int height, boolean gp) { // 输入图路径 this.inputDir = inputDir; // 输出图路径 this.outputDir = outputDir; // 输入图文件名 this.inputFileName = inputFileName; // 输出图文件名 this.outputFileName = outputFileName; // 设置图片长宽 setWidthAndHeight(width, height); // 是否是等比缩放 标记 this.proportion = gp; return compressPic(); } // main测试 // compressPic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true)) public static void main(String[] arg) { CompressPicDemo mypic = new CompressPicDemo(); System.out.println("输入的图片大小:" + mypic.getPicSize("e:\\1.jpg")/1024 + "KB"); int count = 0; // 记录全部图片压缩所用时间 for (int i = 0; i < 100; i++) { int start = (int) System.currentTimeMillis(); // 开始时间 mypic.compressPic("e:\\", "e:\\test\\", "1.jpg", "r1"+i+".jpg", 120, 120, true); int end = (int) System.currentTimeMillis(); // 结束时间 int re = end-start; // 但图片生成处理时间 count += re; System.out.println("第" + (i+1) + "张图片压缩处理使用了: " + re + "毫秒"); System.out.println("输出的图片大小:" + mypic.getPicSize("e:\\test\\r1"+i+".jpg")/1024 + "KB"); } System.out.println("总共用了:" + count + "毫秒"); } }
发表评论
-
JDBCUtil
2013-06-07 22:38 0public class JDBCUtil{ pr ... -
luke
2013-01-17 09:41 0http://code.google.com/p/luke/ ... -
Apache commons-configuration
2012-11-15 16:47 1328Apache Commons-configuration ... -
Java、Js判断全角半角
2012-11-13 11:40 3243JS判断全角半角: function chkHalf(s ... -
HashMap实现原理
2012-10-23 21:49 9941.HashMap的数据结构 数组的特点是:寻址容易 ... -
Struts2 action返回值
2012-08-30 15:05 1129//设置调用完毕后 不处理result值 ActionC ... -
proxool
2012-06-06 17:23 1010Proxool连接池是sourceforge下的一个开源项目, ... -
JSTL中fn函数的使用
2011-08-08 09:20 1105... -
OGNL表达式
2011-06-25 16:03 1606OGNL 表达式学习 (文章源自:http://w ... -
几种通信协议的比较
2011-06-24 11:15 994文章源自:http://dalezhu.i ... -
jxl读写excel文件
2011-06-22 17:16 1057使用第三方工具包jxl来对excel进行读写操作 1.读取E ... -
分页实现的三种方式
2011-06-22 10:51 1802分页问题是一个非常普 ... -
自定义标签
2011-06-20 16:15 1249自定义标签: 1、实现自定义标签按如下步骤进行: (1 ... -
HttpConnection相关
2011-06-09 19:04 1601Java中可以使用HttpURLConne ... -
struts.properties
2011-05-28 16:10 1052struts.action.extension ... -
Spring配置数据源的三种方式
2011-05-04 10:35 1024Spring配置数据源的三种方式 1,使用org.spring ... -
tomcat 连接池泄露的问题:Cannot get a connection, pool exhausted
2011-05-04 10:25 49071 问题描述 Web程序在tomcat刚开始运行时速度很快,但 ... -
技术网站
2011-04-19 13:41 0第一个:[url]http://www.ite ... -
java获取IP地址
2011-03-18 15:40 1204public String getIpAddr(HttpS ... -
Double与BigDecimal 精度问题
2011-03-15 22:18 31703[1] 精确的浮点运算: 在Java里面,有时候为了保证数值 ...
相关推荐
图片上传压缩处理
主要介绍了移动端 Vue+Vant 的Uploader 实现 上传、压缩、旋转图片功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
项目中使用 element组件,而其图片上传组件无法达到实现图片质量压缩的需求,需要再次封装,可以对上传的较大的图片质量进行压缩处理等;部分代码,仅供参考使用!
asp上传压缩处理图片,可拍照上传,也可以选择文件上传;asp上传压缩处理图片,可拍照上传,也可以选择文件上传
ios图片上传服务器前的压缩处理,将图片压缩到规定的内存大小以内,否则就不能上传
java 图片压缩 iphone拍照上传旋转问题处理,压缩工具类 首先导入jar 包,通过imgxz获取图片是否旋转属性,在调用旋转方法,旋转过来,然后在进行压缩
在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体验差 高并发下,后台处理较大的上传文件压力大 或许有更多...
移动端图片上传,支持图片裁切
此版本包含图片的任意比例的前台裁剪、图片后台压缩、图片上传服务器。属性是可以在前台根据后台来自定义的,此处我在前台也省了些参数。这款插件非常好用。就是几KB的图片也可以在保持清晰度的情况下放大到几百KB,...
IOS 图片上传处理 图片压缩 图片处理浏览: 242发布日期: 2016-09-05imagePicker = [[UIImagePickerControll
js异步上传图片,上传图片前进行压缩处理,支持跨域。例如470kb的图片压缩后40kb。上传部分在另一个mvc项目中 从而实现跨域上传文件,可以返回文件名等json数据。上传部分稍微修改同样适用不是mvc项目,很简单的改动...
图片或文件上传类,其中对图片上传进行处理,如进行压缩,加水印;因为有些图片过大,但运营人员又不能修改,只里在此设置图片大小,图片即可按比例压缩。
移动端图片上传,html5+PHP实现,现在移动端存储照片都比较大,所以在上传之前我们需要进行压缩处理。简单写一下思路: 1.选择完图片通过html5的FileReader拿到base64的图片 2.创建一个Image对象,将base64图片作为...
Uni-app 实现图片上传、删除、预览、压缩; 真正的开箱即用。
在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体验差 高并发下,后台处理较大的上传文件压力大 或许有更多...
该代码实现了node.js 配置服务器,网页上传压缩图片、显示base64 上传接受base64图片格式,该代码来源于博客:https://blog.csdn.net/zhangpengzp/article/details/86629097
自己编写简单粗暴有效代码!,可以用。利用html5 canvas处理图片,得到图片字节流,上传
JS前端上传图片、压缩、并且处理旋转问题,生成base64数据
利用前端获取图片,js处理压缩后通过ajax上传后台存储
最近公司的一些项目,有很多客服反应,拍照上传的订单及发票看不清,后台查看安卓上传的图片都在100K以下,上传的图片不管大小多大都自动宽高压缩的一半。网上找半天没有合适的方法处理,最后只能自己写了个方法,...