wangbingxin
技术员
帖子
39
精华
1
无忧币 337
积分 245
阅读权限 30
|
发表于:2007-8-24 15:38
标题:制作缩略图/给图片加水印的开源组件
<上一帖 |
下一帖>
利用这个javabean可以给指定的图片加上指定的水印图,也可以生成缩略图,往图片上写字,各部分参数灵活控制。本来用在社区里的,想想好东西还是拿出来分享一下哈。
下面介绍一下在JSP中的使用方法:
把压缩包内的com目录放到JSP环境下的classes目录里。
把这个当成javabean来使用,代码如下:
[Copy to clipboard] [ - ]
CODE:
<jsp:useBean id="imo" scope="page" class="com.gamvan.image.ImageOperate" />
<%
String filePath=request.getRealPath(""); //绝对路径获取
// 给图片加水印
String waterPath="" //水印图片存放路径
waterPath=request.getRealPath("")+"\\";
imo.setWaterPath(waterPath); //设置水印图片存放路径
imo.setFilePath(filePath); //设置准备添加水印的原图路径
imo.setWaterImg1("gvLogo.png"); //水印图片1存放路径
imo.setWaterImg2("gvStr.png"); //水印图片2存放路径存放路径
imo.waterImage("123.jpg","abc.jpg");
/* 123.jpg是未加水印前的图片名 abc是加了水印后的图片名
* 如果不想另外创建新图直接把abc.jpg改成123.jpg让他和原图重名即可。
*/
out.print(imo.getMessage()); //如果遭遇错误,这里显示错误信息。
// 生成缩略图
imo.setFilePath(filePath); //设置图片所在路径
imo.shrinkImage(100, 0, "big.jpg", "small.jpg");
out.print(imo.getMessage()); //如果遭遇错误,这里显示错误信息。
/* shrinkImage(int w, int h, String oldFile, String newFile)
* w 为缩略图宽度 h为缩略图高度 oldFile是原图文件名 newFile是缩略图文件名
* w h 不可全部为0, 当h为0 则缩略图高度则根据缩略图指定宽度和原图宽度的缩放比例来自动计算
* 计算公式为 h = 原图高度 * (缩略图宽度/原图宽度)
* 如果宽度为0 则根据缩略图高度的缩放比例来计算原理一样
*/
// 向指定的图片上写字
imo.setFilePath(filePath); //设置图片所在路径
imo.setStr("club.GamVan.com"); //书写的内容
imo.writeImage("ggg.jpg","vvv,jpg");
/* ggg.jpg是原图片名, vvv.jpg是书写过内容后的图片名
* 如果不想另外创建新图直接把让它和原图重名即可。
*/
%>
JSP里面会用了直接和上传组件配合在JAVABEAN里面调用原理也是一样的。
这里就不再熬述了。这个组件还是有不完美的地方,比如写字的字体,字体大
小不能在外部控制等。有兴趣的朋友可以来完善一下,再分享给大家。
|
 网络工程师到底该不该去考CCIE认证? |
|