package com.bizoss.trade.util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class ImgYin {
/**
* 把图片印刷到图片上
* @param pressImg --水印文件
* @param targetImg --目标文件
*/
public final static void pressImage(String pressImg, String targetImg) {
try {
//目标文件
File _file = new File(targetImg);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height,BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
//水印文件
File _filebiao = new File(pressImg);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
g.drawImage(src_biao, (wideth - wideth_biao),(height - height_biao), wideth_biao, height_biao, null);
//水印文件结束
g.dispose();
FileOutputStream out = new FileOutputStream(targetImg);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 打印文字水印图片
* @param pressText--文字
* @param targetImg --目标图片
* @param fontName --字体名
* @param fontStyle -- 字体样式
* @param color -- 字体颜色
* @param fontSize --字体大小
* @param x -- 偏移量
*/
public static void pressText(String pressText, String targetImg,
String fontName, int fontStyle, int color, int fontSize, int x,
int y) {
try {
File _file = new File(targetImg);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(wideth, height,BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
g.setColor(Color.RED);
g.setFont(new Font(fontName, fontStyle, fontSize));
g.drawString(pressText, wideth - fontSize - x, height - fontSize/2 - y);
g.dispose();
FileOutputStream out = new FileOutputStream(targetImg);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String []args)
{
pressImage("D:/logoxiao.gif","D:/2.jpg");
}
}
分享到:
相关推荐
Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...
JS用层实现为图片添加水印效果JS用层实现为图片添加水印效果JS用层实现为图片添加水印效果JS用层实现为图片添加水印效果JS用层实现为图片添加水印效果JS用层实现为图片添加水印效果JS用层实现为图片添加水印效果JS用...
使用PHP,为图片添加水印图片。 缩放源水印图片,使其最大宽/高度不能超过原图片。
C# 为图片添加水印文字 一个DEMO。
介绍一个php为图片添加水印函数类(适用于pngjpggif格式), 1:顶部居左, 2:顶部居右, 3:居中, 4:底部局左, 5:底部居右 透明度 -- 0:完全透明, 100:完全不透明 成功 -- 加水印后的新图片地址 ...
批量为图片添加水印工具,处理图片比较实用
Java写的为图片添加水印的软件(含源代码) 具体可以参看:http://blog.csdn.net/cannel_2020/article/details/7525047
Batch Picture Protector V1.40 绿色特别版_能够批量为图片添加水印工具
一个php为图片添加水印函数类(适用于pngjpggif格式), 1:顶部居左, 2:顶部居右, 3:居中, 4:底部局左, 5:底部居右 透明度 -- 0:完全透明, 100:完全不透明 成功 -- 加水印后的新图片地址 失败 -- -1:原文件不...
java给图片添加水印,网站开发过程中可能需要对上传的图片添加属于本网站的水印,这是一个工具类,能实现添加文字水印和添加图片水印。
易语言图片加水印源码,图片加水印,位图水印
springboot实现上传图片添加水印
这是一个为图片添加水印的案例,里面也有水印控件,将这个控件作为引用添加进来。
C# 给图片加上文字或图片水印,通过使用GDI+ 给图片上加水印。实现了透明文字与透明图片水印。可设置水印位置。
兼容多种类型图片,为图片添加水印,可任意设置水印内容、水印显示位置及显示角度、水印字体大小、字体颜色。
一款简单快速地为照片添加水印软件,工作中部分场合需要对照片添加水印,有了它将变得很简单,软件界面也很清爽直观; 软件支持主要包含三个部分的功能设置,布局:设置水印间的横竖间隔,自动重复铺满整张图片;...
能够在图片的任何地方添加文字水印,能够自定义水印的字体,大小,颜色
1、在网上查看了很多 资料,一般合成图片的方法,有两种;这种要简单、灵活些; 2、做成一哥demo,供学习参考;
图片添加水印的代码,常用于各种商业网站,亲测可用!