Java图片水印生成器代码 - 批量给自己的网站图片加水印

news/2024/5/20 11:31:43/文章来源:https://blog.csdn.net/chwshuang/article/details/51685953

Java图片水印生成器代码 - 批量给自己的网站图片加水印

最近在做一款APP,App中的图片是自己一个个的画出来的,为了保证图片不被盗用和处理,所以就需要加上水印防盗。这跟CSDN一样。

注意事项:1. 我是在window7 + eclipse 下完成的

                    2. eclipse中项目的JRE System Library需要配置为JDK,要不然会提示缺少类库

                    3. 我之所以用图片水印而不是文字水印,是因为文字水印太麻烦且得不到想要的效果。

                    4. 用图片水印时,需要将文字改成图片的解决方案是通过网上搜索,搜索在线水印生成就可以了。我推荐这个网站:http://www.qt86.com/changyong.php                   

需求:将一个文件夹内的所有图片加上水印输出到另外一个文件夹。

设计:开发一个Java类,输入目录地址、输出目录地址、水印文件、水印旋转角度,将一个目录的所有图片加上水印后存储到另外一个目录。

实现:

一、根据文件内容生成水印文件

登录:http://www.qt86.com 网站,例如输入:软考大师 www.ruankaods.com看看格式,最好能用多排,并错开,这样在合并文件的时候,看到的效果是最好的。

注意,在点击生成前,请在【背景栏】选择透明背景,字色也应该选一个灰色的,如果一行内容太多就要选择小型字,要不生成的图片中水印文字会自动换行,导致水印文件会很难看。当然,具体的内容还是要自己根据需求调整了。



二、编写代码,将水印文件与源文件合并,生成带水印的文件。

下面的代码是批量将一个目录中的文件都加水印,如果你只是改一个文件也可以实现。

import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;import javax.imageio.ImageIO;
import javax.swing.ImageIcon;  
public   class  ImageWatermark {  /**   * 给图片添加水印* @param watermarkFilePath         水印图片路径   * @param srcImagePath 		源图片路径   * @param targerImagePath 	        目标图片路径   * @param degree 			水印图片旋转角度 */    public static void addImageWatermark(String watermarkFilePath, String srcImagePath, String targerImagePath, Integer degree) {     OutputStream os = null;     try { Image srcImage = ImageIO.read(new File(srcImagePath));   BufferedImage graphics = new BufferedImage(srcImage.getWidth(null), srcImage.getHeight(null), BufferedImage.TYPE_INT_RGB);   // 得到画布对象     Graphics2D g = graphics.createGraphics();     // 设置对线段的锯齿状边缘处理     g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);     g.drawImage(srcImage.getScaledInstance(srcImage.getWidth(null), srcImage.getHeight(null), Image.SCALE_SMOOTH), 0, 0, null);     if (null != degree) {     // 设置水印旋转角度及坐标  g.rotate(Math.toRadians(degree),  (double) graphics.getWidth() / 2, (double) graphics.getHeight() / 2);     }     // 水印图象的路径 (如果需要设置透明度需要gif或者png格式的图片  )ImageIcon imgIcon = new ImageIcon(watermarkFilePath);     // 得到Image对象。     Image image = imgIcon.getImage();    // 透明度     float alpha = 0.25f;g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));     // 表示水印图片的位置     g.drawImage(image, 20, 30, null);     g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));     g.dispose();     os = new FileOutputStream(targerImagePath);     // 生成图片     (可设置 jpg或者png格式)ImageIO.write(graphics, "png", os);     } catch (Exception e) {     e.printStackTrace();     } finally {     try {     if (os != null) {os.close();     }} catch (Exception e) {     e.printStackTrace();     }     }     }     public static void main(String[] args) {File f = new File("D:\\图片\\全部图片");File[] p = f.listFiles();
//    	for(File file : p){
//    		System.out.println(file.getName());
//    	}for (File photo : p) {if(!photo.isDirectory()){ImageWatermark.addImageWatermark("C:/water.png",photo.getPath(),"D:\\图片\\全部图片\\target\\" + photo.getName() , -15);}}System.exit(0);}
}


三、效果图

大家可以看到,软考大师 ruankaods.com的图片水印正式加入到刚才的图片中了。





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_803598.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云云虚拟主机上个人网站的Https访问配置

本文基于阿里云云虚拟主机,我个人网站是基于Hexo博客系统搭建的静态网站,所以搭建Https相对方便 一、获取HTTPS安全证书 在操作之前,请将你的域名的隐私保护去掉,让证书服务商能通过域名解析查看到域名管理者的邮箱,否则验证证书时会无法进行…

阿里云服务提供商分享视频直播网站服务器解决方案

大家应该都听过抖音、西瓜视频这类的视频网站,而且这些视频网站深受大家喜爱。直播模式也如雨后春笋一般快速出现,电商直播也逐渐火热。因此很多视频类公司纷纷搭建视频直播平台,那么这类网站的服务器该如何选择呢?下面就由阿里云…

使用Charles代理工具导致电脑无法正常访问网站(您的连接不是私密连接)

很多开发者都需要使用代理工具来调试接口,查看数据等等,但是有时候发现打开代理工具之后,代理工具同时也拦截了电脑的所有网络请求,导致电脑访问网站时提示(您的连接不是私密连接)。。。 造成这种问题的原因…

大型网站技术架构(七)网站的可扩展性架构

2019独角兽企业重金招聘Python工程师标准>>> 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模…

新书推荐:网站交互设计模式

新书推荐:网站交互设计模式【作  者】(美)Douglas K.Van Dugne;James A.Landay;Jason I.Hong [同作者作品] [作译者介绍] 【译  者】 孙昕;焦洪[同译者作品] 【出 版 社】 电子工业出版社 【书 号】 9787121092046 【上架时间】 2009-7-24 【出版日期】…

html5游戏网站欣赏,70多个HTML5网站设计欣赏

70多个HTML5网站设计欣赏7月 6, 2011评论SponsorHTML5网站确实很不错,能帮助设计师解决很多美化问题外,还能提高更好的用户体验,制作出高效的网站,所以我们应该开始学习CSS3和HTML5这些技术了,不要老是被国外超越我们&…

高并发、高可用、大数据量网站系统演化

一、初始阶段的网站架构 应用程序、数据库、文件等所有资源都在一台服务器上 二、应用服务和数据库服务分离 整个网站使用三台服务器:应用服务器、文件服务器、数据库服务器 应用服务器需要更强大的CPU 文件服务器需要更大的磁盘空间 数据库服务器需要更快的硬盘和更…

WordPress网站漏洞利用及漏洞修复解决方案

2019年正月刚开始,WordPress最新版本存在远程代码注入获取SHELL漏洞,该网站漏洞影响的版本是wordpress5.0.0,漏洞的产生是因为image模块导致的,因为代码里可以进行获取目录权限,以及文件包含功能,导致远程代…

docker容器源码部署httpd,用存储卷部署网站

docker容器源码部署httpd,用存储卷部署网站 创建一个httpd镜像 // 创建一个httpd容器 [rootlocalhost ~]# docker run -tid --name httpd centos 2d693e16f4f3734b127cbae90d189c1b4e78619a54ceec912a82d96cf4f1c345 [rootlocalhost ~]# docker ps CONTAINER ID …

java jsoup爬取动态网站_java笔记|爬取华软mysise所有课程信息

本次内容:使用java爬取网页数据,并进行数据清洗,熟悉爬取操作;爬取华软课程信息:http://class.sise.com.cn:7001/sise/index.jsp//源码package com.sise.studentInfoSystem.demo;import com.sise.studentInfoSystem.be…

win7关于无线连接的服务器,win7怎样解除无线连接限制_网站服务器运行维护,win7,无线连接...

win10系统如何重置密码_网站服务器运行维护win10系统重置密码的方法是:1、右键点击开始图标;2、在弹出的选项列表中,点击选项【Windows PowerShell(管理员)】;3、执行命令【net user 用户名 新密码】即可。win7解除无线连接限制的…

网站服务器和seo,网站所在服务器与网站SEO排名之间的关系

想让你的网站在搜索引擎中获得好的排名,得到更多的客户认可。作为一个合格的SEOer,你就得把网站服务器作为一个重要事项来做。大家都知道网站是由域名、服务器及页面文件组成的,从这个你也就可以看出服务器的重要性。SEO优化包含的面非常广&a…

java 热点词排名_利用seo技术排名热点新闻词引流(日IP增加2万+)

一个很普通的热点,很容易被各大媒体平台炒到高流量,所以很多人希望能够通过新闻热点来蹭到一部分流量,但大多数的情况下,百度上的新闻热点内容都被大平台拿走了,咱们今天也来教教大家,如何拿到一部分热点流…

调试-Chrome删除某个特定网站的Cookie

方法1 设置 → 高级 → 隐私设置和安全性 → 网站设置 → Cookie和网站数据 → 查看所有Cookie和网站数据 方法2 设置 → 搜索框中输入“Cookie”→ 根据提示一个个点开选项卡找即可

一个可以动态创建响应动画GIF的网站,AjaxLoad

呵呵,使用Ajax做Web开发的必备品看看样式:呵呵,还有许多样式,如果你想要,可以到这个网站自己生成喔http://www.ajaxload.info/ 转载于:https://www.cnblogs.com/fengmk2/archive/2006/10/21/535988.html

服务器搭建个人网站(阿里云服务器)

服务器搭建个人网站 一丶购买服务器 这里我选的是阿里云服务器,进入阿里云官网阿里云-上云就上阿里云 阿里云提供了几种服务器,云服务器ESC、轻量应用服务器,ESC更好一点儿,我选了轻量级应用服务器。购买好了之后,在…

每天第一个登录sharepoint 网站的人

在IIS里面设置下: 1.找到你的sharepoint站点对应的应用程序池; 2.设置这个应用程序池的回收时间。 不想每天早上速度慢,就取消回收啦。呵呵! 远程桌面连接-148.71-666666-开始程序-IIS管理器-Internet信息服务-应用程序池-ShareP…

网站能带来什么

网站到底有什么用?如果说社交网站能为网友带来朋友,新闻网站能为网民带来信息,视频网站能给网民娱乐,那企业网站到底能带来什么?或者说是给企业或者给网民客户带来什么? 网站现在到处都是,并且现…

宝塔绑定域名访问不了_千字长文教你使用 宝塔面板 快速搭建网站

本文将教大家使用 宝塔面板 快速搭建网站,云服务器购买 以及 域名注册 部分请自行上网搜索了解,亦可留言联系小编进行咨询。如果是和下方一样本地搭建演示的话,则不需要付费购买域名和主机。宝塔面板 的是 提升运维效率 的 服务器管理 软件&a…

seo代码优化工具_大咖带你玩转企业SEO搜索引擎优化视频

搜索引擎营销作为现代企业常见的一种网络营销方式,对于提升企业品牌曝光已经口碑有着重要的营销价值。本课程主要讲解的知识包括搜索引擎工作原理、SEO必备工具、关键词选择方法、网站首页/URL/TDK标签优化技巧、SEO站内优化、代码优化及外链优化等。学员通过学习可…