首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Java制作水印图片源码

Java制作水印图片源码

www.jz123.cn  2010-10-08   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

以下为引用的内容:

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import javax.swing.ImageIcon;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

 

/**
* <style type="text/css">body{background:#C7EDCC;}</style>
* 在图片上添加水印图片或水印文字
* @param filePath 原始图片路径
* @param watermarkPath 水印图片路径
* @param watermarkX 水印位置:x
* @param watermarkY 水印位置:y
* @param watermarkAlpha 透明度
* @return
*/
public static boolean createMark(String filePath, String watermarkPath,int watermarkX, int watermarkY,float watermarkAlpha) {
// 读取原图片
ImageIcon imgIcon = new ImageIcon(filePath);
Image theImg = imgIcon.getImage();
// 读取标签图片
ImageIcon waterIcon = new ImageIcon(watermarkPath);
Image waterImg = waterIcon.getImage();

int width = theImg.getWidth(null);
int height = theImg.getHeight(null);

// 创建一个和原图片同大小的新空白图片
BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bimage.createGraphics();

// bimage = g.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT);
// g.dispose();
// g = bimage.createGraphics();

// 设置字体
//Font font = new Font("SansSerif", Font.BOLD, 30);
//g.setFont(font);
// 设置前景色
//g.setColor(Color.red);
// 设置背景色
g.setBackground(Color.white);
// 画原图
g.drawImage(theImg, 0, 0, null);

//值从0f-1.0f
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, watermarkAlpha));
// 画出水印图
g.drawImage(waterImg,watermarkX,watermarkY, waterImg.getWidth(null), waterImg.getHeight(null), null);

// 画字
//g.drawString("制作水印", 50, 50);

//透明度设置 结束
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));

g.dispose();
FileOutputStream out = null;
try {
String newWaterFile = filePath.substring(0,filePath.lastIndexOf("."))+"_water."+filePath.substring(filePath.lastIndexOf(".")+1);
out = new FileOutputStream(newWaterFile);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
param.setQuality(50f, true);
encoder.encode(bimage, param);
} catch (Exception e) {
System.out.println("---生成失败---");
return false;
} finally {
if (out != null) {
try {
out.close();
out = null;
} catch (Exception e) {
}
}
}
System.out.println("===站长家园:http://www.jz123..cn/ 生成成功===");
return true;
}




上一篇:Java常见异常及可能的导致原因 下一篇:Java 字符串正则表达式使用

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图