怎么使用CFML生成图片缩略图文件
发布时间:2010-06-14 17:26:20 文章来源:www.iduyao.cn 采编人员:星星草
如何使用CFML生成图片缩略图文件?
现做一网站,使用CFM,里面有图片显示,图片文件比较大。
想在上传的同时能够自动生成缩略图文件。
用ASP或者PHP可以找到资料,CFM找不到资料。
急求帮助。
------解决方案--------------------
CFMX里,你可以把你写的Java Class方进去, 然后在CFM里调用。
import com.sun.image.codec.jpeg.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
/**
* Thumbnail.java (requires Java 1.2+)
* Load an image, scale it down and save it as a JPEG file.
* @author Marco Schmidt
*/
public class Thumbnail {
public static void main(String[] args) throws Exception {
if (args.length != 5) {
System.err.println("Usage: java Thumbnail INFILE " +
"OUTFILE WIDTH HEIGHT QUALITY");
System.exit(1);
}
// load image from INFILE
Image image = Toolkit.getDefaultToolkit().getImage(args[0]);
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);
// determine thumbnail size from WIDTH and HEIGHT
int thumbWidth = Integer.parseInt(args[2]);
int thumbHeight = Integer.parseInt(args[3]);
double thumbRatio = (double)thumbWidth / (double)thumbHeight;
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
double imageRatio = (double)imageWidth / (double)imageHeight;
if (thumbRatio < imageRatio) {
thumbHeight = (int)(thumbWidth / imageRatio);
} else {
thumbWidth = (int)(thumbHeight * imageRatio);
}
// draw original image to thumbnail image object and
// scale it to the new size on-the-fly
BufferedImage thumbImage = new BufferedImage(thumbWidth,
thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
// save thumbnail image to OUTFILE
BufferedOutputStream out = new BufferedOutputStream(new
FileOutputStream(args[1]));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.
getDefaultJPEGEncodeParam(thumbImage);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
3D MAX导出MD2,delphi开发
我用dilphi开发3D游戏,想用3D MAX导出MD2建立关键针动画,然后用dilphi调用关键针,可是现在出现2个问...
-
coldfusion怎么整合框架?
如题coldfusion怎么整合框架? 有没有例子 谁给讲解下,谢谢!
------解决方案--------------------
其实,在...
-
coldfusion的正则表达式中文支持怎么样?
coldfusion的正则表达式中文支持怎么样?有没有问题?我用的的是coldfusion 9
因为要用的一...
-
求教
请问,哪里有GLscene的中文教程,视频也可.谢谢
------解决方案--------------------
http://technology.jfcms.net/cx/Delp...
-
Provider '80020005'
Provider '80020005'
类型不匹配。
\admin\add_products.asp, line 167
<!--#include file="../i...
-
我们打开一个网页的原理是什么?
我觉得是服务器端传输一个文档过来,然后由ie(或者其它的)编译,呈现我们面前的就是我们打开的网页了
-...
-
我想循环输出一个 cfgrid
rt
------解决方案--------------------
cfgrid有个query属性的。
------解决方案-----------------...
-
coldfusion
cf中上传可以控制大小吗?如何控制?
------解决方案--------------------
上传前可以先得到文件大小,之后再决定是否要上...
-
C# 发送一个网页邮件 怎么做
我用System.Net.Mail;做的,可是它的属性就那么几个。怎么办?
------解决方案--------------------
M...
-
coldfusion 9 连接Access出错???
各位大侠帮忙看看,为何我用coldfusion 9 连接Access时,显示OK,连接Access unicode时却出现以下错误信...