打水印 Imagename_biao是水印文件 ImgName是原图


/**
* 打水印 Imagename_biao是水印文件 ImgName是原图
* @param Imagename_biao
* @param ImgName
*/
public static void imgYin(String Imagename_biao, String ImgName) {
//System.out.println("11111111111111111111111111111111 inin");
FileImageOutputStream out=null;
File _file=null;
BufferedImage image=null;
File _filebiao=null;
try {
_file = new File(ImgName);
Image src = ImageIO.read(_file);
int wideth = src.getWidth(null);
int height = src.getHeight(null);

//宽大于300才打水印
if (wideth > 300) {
image = new BufferedImage(wideth, height,
BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
g.drawImage(src, 0, 0, wideth, height, null);
// g.drawImage(src.getScaledInstance(wideth,
// height,Image.SCALE_SMOOTH), 0, 0,wideth, height, null);

// 水印文件
_filebiao = new File(Imagename_biao);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao = src_biao.getWidth(null);
int height_biao = src_biao.getHeight(null);
// 水印文件显示在中央
g.drawImage(src_biao, (int) (0.5 * (wideth - wideth_biao)),
(int) (0.5 * (height - height_biao)), wideth_biao,
height_biao, null);
// g.drawImage(src_biao.getScaledInstance(wideth_biao,
// height_biao,Image.SCALE_SMOOTH), (int)(0.5*(wideth
// -wideth_biao)) , (int)(0.5*(height -height_biao)),
// wideth_biao,
// height_biao, null);
// 水印文件在原图片文件的位置,原图片文件的右下角为wideth-0,height-0
g.dispose();
// FileOutputStream out = new FileOutputStream(ImgName);
// JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
// JPEGEncodeParam param =
// encoder.getDefaultJPEGEncodeParam(image);
// param.setQuality(0.9f, false); //不压缩图像fals
// encoder.setJPEGEncodeParam(param);
// encoder.encode(image);
// out.flush();
// out.close();

// ImageIO.write(image, "jpg", new File(ImgName));

Iterator<ImageWriter> iter = ImageIO
.getImageWritersByFormatName("jpg");
if (iter.hasNext()) {
ImageWriter writer = iter.next();
ImageWriteParam param = writer.getDefaultWriteParam();

param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); //MODE_COPY_FROM_METADATA ,MODE_EXPLICIT
param.setCompressionQuality(0.9f);
//System.out.println("Quality:"+1.0);
out = new FileImageOutputStream(
new File(ImgName));
writer.setOutput(out);
// writer.write(bi);
writer.write(null, new IIOImage(image, null, null), param);
out.close();
writer.dispose();

}

}

} catch (Exception e) {
System.out.println(e);
e.printStackTrace();
}finally{

if(out!=null){
try
{
out.close();
} catch (Exception e) {
//e.printStackTrace();
}
}
}
}

打水印 Imagename_biao是水印文件 ImgName是原图

时间: 2024-10-05 23:09:35

打水印 Imagename_biao是水印文件 ImgName是原图的相关文章

八 、Quartz 2D 图片水印

首先上图(共3张,原图,水印图片,原图添加完水印图片后的图片) 原图: 水印图片(背景是透明的,是一张32x32的正方形图片) 然后,就是添加完,水印图片的图片了 - (void)viewDidLoad { [super viewDidLoad]; // 加载背景图片 UIImage *imgBg = [UIImage imageNamed:@"001"]; // 创建bitmap图形上下文 UIGraphicsBeginImageContextWithOptions(CGSizeMa

逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

好几天没上QQ了,今天上了个QQ,,额....额...貌似消息还挺多,没及时回复的还请见谅~~刚好昨天无聊把水印这快封装出来了,支持图片水印,文字水印,索引图水印和非索引图水印,支持位置选择(9个位置 ==>[X]).好吧不高兴屁话了,软件是WPF的(只满足我的需求,如果有需要可以出第个二版本),水印核心代码封装了个Helper类(通用:支持Winform,WPF,Web,WP,Win10)软件共享一下==>http://pan.baidu.com/s/1qWDwv4C 源码看下面 水印类 /

python opencv加水印 去水印

收到的需求是在一个图上匹配到水印 然后将原来的水印换成一个新水印 先要安装一个库 库文件代码如下: # coding=utf-8 import cv2 import numpy as np # 膨胀算法 Kernel _DILATE_KERNEL = np.array([[0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [1, 1, 1, 1, 1], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0]], dtype=np.uint8) class Waterm

一个java程序员自学IOS开发之路(八)

2015/11/8 Day 34 UITabBarController 跟UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是QQ.微信等应用 UITabBarController的使用步骤 ? 初始化UITabBarController ? 设置UIWindow的rootViewController为UITabBarController ? 根据具体情况,通过addChildViewContro

2014中国互联网创业者大会感悟之超级图片的震撼

会上余伟华先生利用超级图片技术为大家简单的变了一个魔术,可谓是技惊四座,让会上许多快要睡着的朋友也为之一振.会上,余伟华先生将一个采用超级图片技术打印出来的一幅画让嘉宾随意的撕成了八份,然后随机取出其中的一张碎片,用手机扫描后还原出了原图.超级图片的技术是令人震撼的,那么超级图片会给我们带来什么呢?带来哪些影响呢? 超级图片超级应用体验 1.超级图片技术可以依据残图还原出原图.现在有太多的图片是带有水印的,很多朋友苦于需要那幅图片,但是水印又不好去,如果是超级图片则可以根据没有水印的地方可以还原

【微信】新闻推送步骤

微信公众平台主页 准备群发素材 这里演示多图文消息情况-- 群发消息 在素材中找之前编辑好的内容 补充:微社区后台设置 进入微社区后点击[话题管理]-[发新话题],然后进行复制粘贴即可(注意:图片需要下载后上传到微社区里,无法粘贴) 记得把标签改为[七院动态] 编辑好后提取网页链接 补充:编辑器用法略讲 所有编辑器基本都差不多,但我推荐使用秀米(有更好的排版,但是比较耗时)和掌上大学(基础功能全面,但比较专业") 登录掌大后找到[运营中心],点击[微信编辑器]              然后编辑

PHP给图片添加水印

计应134(实验班)   詹加全 有些站点也许是出于推广或者防盗的目的在上传图片时给图片加上一个LOGO水印,我就见过有些站长直接用图片工具添加水印然后再上传,当然这样也能实现效果.但PHP中也可以完成给图片加水印的功能.就PHP函数功能这里就不再去浪费口舌介绍了,直接说下如何实现.大体有以下步骤 一.准备好LOGO图 这个LOGO图不限格式,gif或png或jpg都可以,大小调成合适的即可.透明度不需要,因为我们可以在PHP中灵活设置透明度.如果不会使用制图工具制作LOGO可以去谷歌一下在线L

thinkphp实现UploadFile.class.php图片上传功能

图片上传在网站里是很常用的功能.ThinkPHP里也有自带的图片上传类(UploadFile.class.php) 和图片模型类(Image.class.php).方便于我们去实现图片上传功能,下面是实现方法 1.我们首先需要创建一个表 复制代码代码如下: CREATE TABLE IF NOT EXISTS `tp_image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `image` varchar(200) NOT NULL, `create_time

PHP加水印代码 支持文字和图片水印

PHP加图片水印.文字水印类代码,PHP加水印类,支持文字图片水印的透明度设置.水印图片背景透明.自己写的一个类,因为自己开发的一套CMS中要用到,网上的总感觉用着不顺手,希望大家也喜欢这个类,后附有类使用方法. <?php class WaterMask{ public $waterType = 1; //水印类型:0为文字水印.1为图片水印 public $pos = 0; //水印位置 public $transparent = 45; //水印透明度 public $waterStr =