java之图片水印核心代码
import java.awt.color;
import java.awt.font;
import java.awt.graphics2d;
import java.awt.image;
import java.awt.image.bufferedimage;
import java.io.file;
import java.io.fileoutputstream;
import javax.imageio.imageio;
public class watermarkutils {
/**
* @param srcimgpath 源图片路径
* @param tarimgpath 保存的图片路径
* @param watermarkcontent 水印内容
* @param markcontentcolor 水印颜色
* @param font 水印字体
*/
public void addwatermark(string srcimgpath, string tarimgpath, string watermarkcontent,color markcontentcolor,font font) {
try {
// 读取原图片信息
file srcimgfile = new file(srcimgpath);//得到文件
image srcimg = imageio.read(srcimgfile);//文件转化为图片
int srcimgwidth = srcimg.getwidth(null);//获取图片的宽
int srcimgheight = srcimg.getheight(null);//获取图片的高
// 加水印
bufferedimage bufimg = new bufferedimage(srcimgwidth, srcimgheight, bufferedimage.type_int_rgb);
graphics2d g = bufimg.creategraphics();
g.drawimage(srcimg, 0, 0, srcimgwidth, srcimgheight, null);
g.setcolor(markcontentcolor); //根据图片的背景设置水印颜色
g.setfont(font); //设置字体
//设置水印的坐标
int x = srcimgwidth - 1*getwatermarklength(watermarkcontent, g);
int y = srcimgheight - 1*getwatermarklength(watermarkcontent, g);
g.drawstring(watermarkcontent, x, y); //画出水印
g.dispose();
// 输出图片
fileoutputstream outimgstream = new fileoutputstream(tarimgpath);
imageio.write(bufimg, "jpg", outimgstream);
system.out.println("添加水印完成");
outimgstream.flush();
outimgstream.close();
} catch (exception e) {
// todo: handle exception
}
}
public int getwatermarklength(string watermarkcontent, graphics2d g) {
return g.getfontmetrics(g.getfont()).charswidth(watermarkcontent.tochararray(), 0, watermarkcontent.length());
}
public static void main(string[] args) {
font font = new font("微软雅黑", font.bold, 60); //水印字体
string srcimgpath="c:/tmp/20150314_124204.jpg"; //源图片地址
string tarimgpath="c:/tmp/t.jpg"; //待存储的地址
string watermarkcontent="图片来源:北华航天工业学院
color color=new color(255,0,0); //水印图片色彩以及透明度
new watermarkutils().addwatermark(srcimgpath, tarimgpath, watermarkcontent, color,font);
}
}
效果验证
原图
水印图
相关推荐
利用java将图片加上水印 只需要设置图片属性就行了·
struts2 上传 java 图片水印 改变图片大小
利用java的graphics2d进行图片的水印处理
java 图片添加水印 图片叠加文字类 图片生成方法,如果需要在已有的图片叠加文字
java给图片添加水印,网站开发过程中可能需要对上传的图片添加属于本网站的水印,这是一个工具类,能实现添加文字水印和添加图片水印。
是一 使 用 java 来 实现图片水印的效果
java 水印(水印适应图片大小,但个别图片太小不支持)
基于java给图片添加文字或图片水印 大学生课程设计 基于java的课程设计 自己大二写的课程设计
大哥 还是大姐不要再删了 我要崩溃了 我上传的资源就是有关于javaja操作wordpdf图片生成图片水印的 一些相关资料而已
java实现给图片增加图片水印或者文字水印相关依赖包。
java jacob完美实现word添加图片水印(内附源码及jar包)。 公司最近让搞word文档添加水印,所有下载的文档需要添加公司印章,搞了好多天才实现,利用jacob完美实现word添加图片水印(注意需要把dll文件放到jdk的bin...
水印 java graphics2d实现文字图片水印 实现水印四个角水印
java 制作图片水印代码 图片水印 水印
java图片附加图片水印和文字水印,以及水印透明度,偏移度设置。
java处理图片 加文字水印以及灰色透明背景,处理图片。
开发一个项目,需要用到图片加水印的功能,这里考虑使用后台加水印,在上传的时候或者回显到页面时候,取图片文件的流数据,进行加水印在返回流数据就行了,非常简单,不懂可以问我
java图片添加水印帮助类,在图片上加文字水印、加图片水印!
java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...
实现图片填加水印的效果,网上找的很不错,可以借鉴一下
java操作excel实现水印图片