- 浏览: 575790 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
这段代码上传1.7m图片会报错:
public static final boolean scale(File sourceImage, File targetImage, double maxWidth, ImageCropVO cropVO) { targetImage.getParentFile().mkdirs(); boolean result = false; try { int width = 0; int height = 0; //crop image // BufferedImage bufferImg = Thumbnails.of(sourceImage).scale(1.0).asBufferedImage(); BufferedImage bufferImg = ImageIO.read(sourceImage); double rate = 0.0; int maxTmpWidth = bufferImg.getWidth(); if (maxTmpWidth > maxWidth){ rate = maxWidth/maxTmpWidth; //此处上传超过1.1m的图片可能报错java.lang.OutOfMemoryError Thumbnails.of(sourceImage).scale(rate).toFile(targetImage); width = (int)(bufferImg.getWidth() * rate); height = (int)(bufferImg.getHeight() * rate); cropVO.setTargetWidth(width); cropVO.setTargetHeight(height); } // int maxTmpLength = bufferImg.getWidth()> bufferImg.getHeight() ? bufferImg.getWidth(): bufferImg.getHeight(); // if (maxTmpLength > maxLength){ // rate = maxLength/maxTmpLength; // Thumbnails.of(sourceImage).scale(rate).toFile(targetImage); // // width = (int)(bufferImg.getWidth() * rate); // height = (int)(bufferImg.getHeight() * rate); // cropVO.setTargetWidth(width); // cropVO.setTargetHeight(height); // } else{ String extention = FileHelper.getExtension(targetImage, ""); ImageIO.write(bufferImg, extention, targetImage); //sourceImage.renameTo(targetImage); width =bufferImg.getWidth(); height =bufferImg.getHeight(); cropVO.setTargetWidth(width); cropVO.setTargetHeight(height); } result = true; } catch (Exception e) { LogHelper.error("Exception to resize image", e); } return result; }
java.lang.OutOfMemoryError: Java heap space at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:42) at java.awt.image.Raster.createInterleavedRaster(Raster.java:253) at java.awt.image.BufferedImage.<init>(BufferedImage.java:368) at net.coobird.thumbnailator.resizers.ProgressiveBilinearResizer.resize(Unknown Source) at net.coobird.thumbnailator.resizers.Resizers.resize(Unknown Source) at net.coobird.thumbnailator.makers.ThumbnailMaker.makeThumbnail(Unknown Source) at net.coobird.thumbnailator.makers.ScaledThumbnailMaker.make(Unknown Source) at net.coobird.thumbnailator.Thumbnailator.createThumbnail(Unknown Source) at net.coobird.thumbnailator.Thumbnails$Builder.toFile(Unknown Source) at com.bitbao.common.lib.image.ImageHelper.scale(ImageHelper.java:73) at com.bitbao.cm.controller.web.AccountSettings.saveSelfStylePhoto(AccountSettings.java:822) at com.bitbao.cm.controller.web.AccountSettings.processSaveTempPoto(AccountSettings.java:757) at com.bitbao.cm.controller.web.AccountSettings.saveTempPhoto(AccountSettings.java:727) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:185) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:502) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:465) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:863) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:851) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:767) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
查明原因之后发现,原来设置的-Xmx 不够大,总感觉thumbnail 性能方面不行。有搞过图片缩放的高手们指点下,有没有好的方式或者别的插件?
发表评论
-
RESTFUL
2013-05-29 17:21 0a -
hibernate命名查询问题
2013-01-30 16:38 1314hibernate 注解 @OneToOne(fetc ... -
hibernate [Null value was assigned to a property of primitive type setter of sco
2012-12-25 19:51 1113今天开发时候 hibernate 查询报错,分析原因如下: ... -
Servlet线程安全问题
2012-10-07 11:52 1012进来休息下,来点我吧 摘 要:介绍了Servlet多线程 ... -
Arrays.asList详解
2012-09-10 09:52 884Arrays.asList详解 记得以前写过一 ... -
Collections.addAll
2012-09-07 18:04 2323collections用法以及list 简单实例 Colle ... -
string
2012-09-06 17:20 885String a = "ab"; ... -
mapper.readValue读取null
2012-08-17 19:21 2583如下代码,这样写不会走catch方法,此方法不报ioExcep ... -
string.split(",")返回的长度问题
2012-08-17 15:38 910String test = "#我的测试#&q ... -
模拟微博新鲜事短网址处理方式
2012-08-16 17:40 0a -
新鲜事短连接
2012-08-19 12:01 954现在需求如下: 使 ... -
jackson objectMapper.readValue 读取并存成想要的类型
2012-07-26 20:16 3700两种方式: java反射里面有个很有趣的东东,反射解析成li ... -
spring mvc responseBody 会把特殊字符转义
2012-07-26 19:53 4503框架用的spring 采用spring mvc 方式进行图片上 ... -
Out of range value for column 'bindUid' at row 1
2012-07-19 20:35 1489今天弄新浪微博绑定,数据库oauth_token表需要插入bi ... -
图片复制
2012-07-05 11:53 1065import java.io.File;import java ... -
thumbnailator 图片缩放
2012-07-04 20:10 1371Thumbnailator是一个用来生成图像缩略图的 J ... -
spring mvc 自己遇到的几个错误
2012-06-13 14:36 1195where 1=1 and t.name like '%&q ... -
Request method 'POST' not supported
2012-06-08 10:53 5202项目采用spring mvc框架实现,插入数据时候采用 ... -
beanPropertyRowMapper
2012-08-10 11:24 1076@SuppressWarnings(&quo ... -
org.codehaus.jackson.map.JsonMappingException
2012-08-17 19:30 981当一个类的所有属性都没有getter时(所有属性都是publi ...
相关推荐
Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三...支持的处理操作:图片缩放,区域裁剪,水印,旋转,保持比例。
**thumbnailator图片管理工具** thumbnailator是一款开源的Java库,专为处理图像文件而设计,尤其是用于创建缩略图。它的主要功能是提供一个简单、高效且灵活的API,使得开发者能够快速地对图片进行裁剪、缩放、...
在这个"Thumbnailator图片压缩Demo以及jar包"中,包含的主要内容是thumbnailator-0.4.8.jar库文件和一个示例代码ThumbnailatorDemo.java。 thumbnailator-0.4.8.jar是Thumbnailator库的核心组件,包含了所有用于...
1. **图片缩放**:thumbnailator 提供了按比例缩放图片的功能。你可以通过设定一个比例因子或者目标宽度和高度来调整图片的大小。这在需要快速减少图片大小,例如创建网站缩略图时非常有用。 2. **指定大小缩放**:...
Thumbnailator 是一个用来生成图像缩略图的 Java 类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。...支持:图片缩放,区域裁剪,水印,旋转,保持比例。 非常好用,简单!
"thumbnailator图片处理包JAVA"是一个专门为Java开发者设计的库,用于方便地创建、修改和转换图像,尤其是生成缩略图。thumbnailator以其高效、易用和灵活性著称,是许多Java项目中处理图像需求的理想选择。这个...
thumbnailator不仅支持基本的缩放操作,还具备旋转、裁剪、添加水印等高级功能,极大地丰富了Java图片处理的能力。 **核心功能与特性:** 1. **缩略图生成**:thumbnailator的核心功能是生成缩略图,它能快速地将...
首先,图片缩放是Thumbnailator的核心功能。该库提供了一种直观的方式来调整图片的大小,无论是简单的按比例缩放,还是指定新的宽度和高度,Thumbnailator都能轻松应对。它使用了高效的算法,确保在不失真的情况下...
Java thumbnailator 处理图片(压缩,放大,缩小)
在本篇博文中,作者将深入讲解如何通过Thumbnailator实现高效的图片缩放、裁剪和其他变换操作。 1. **Thumbnailator简介** Thumbnailator库是由Niklas Thörne开发的,其设计目标是提供一个轻量级、易于使用的图片...
Thumbnailator 是一个强大的 Java 图片处理库,专为简化图片缩放、旋转和添加水印等操作而设计。相比 JDK 中内置的图像处理工具类,Thumbnailator 提供了更为直观和简洁的 API,使得开发者能更高效地进行图片处理...
除了基本的缩放功能,thumbnailator还提供了丰富的选项,如保持原图宽高比、指定缩放算法、添加边框、改变色彩模式等。此外,它还可以直接读取和写入输入/输出流,这对于处理大文件或者在网络上传输数据时非常有用。...
`thumbnailator`通过抛出`IOException`和`IllegalArgumentException`来处理这些问题,需要在调用时进行适当的异常捕获。 8. **内存管理**: `thumbnailator`在内存使用方面进行了优化,尽可能减少内存占用,特别是...
同时,thumbnailator支持内存管理和流处理,这意味着它可以在不完全加载整个图像到内存的情况下进行处理,有效避免了因大图片导致的内存溢出问题。 除了基本的缩略图生成,thumbnailator还支持更复杂的图像操作,如...
在IT行业中,处理图片是一项常见的任务,无论是网站、应用程序还是各种多媒体项目,都需要对图片进行各种操作,如缩放、裁剪、旋转等。在这个领域,thumbnailator是一个备受青睐的Java库,它提供了简单易用的API,...
这段代码会将名为"input.jpg"的图片缩放到100x100像素,并保存为"output.jpg"。 - **旋转图片**: ```java Thumbnails.of("input.jpg") .rotate(90) .toFile("output.jpg"); ``` 这将按顺时针90度旋转输入图片并...
"thumbnailator-0.4.8.zip" 是一个包含图片压缩功能的Java应用程序库,主要用于处理和生成缩略图。这个压缩包的核心是 "thumbnailator-0.4.8.jar" 文件,它是一个JAR(Java Archive)文件,集成了Thumbnailator库的...
在描述中提到,Thumbnailator不仅支持单个图片的缩略图生成,还具备批量处理的能力。这意味着你可以一次性处理一个目录下的所有图片,这对于需要大量处理图像的项目而言非常实用。例如,在构建一个图片分享网站或者...
下面是一个简单的图片缩放示例,使用`thumbnailator`库: ```java import net.coobird.thumbnailator.Thumbnails; // ... public void resizeImage(String filePath, int width, int height) { try { ...