需求:制作商品的促销水印

 1、图片处理工具类ImageUtils

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class ImageUtils {/*** @param file      源文件(图片)* @param waterFile 水印文件(图片)* @param x         距离右下角的X偏移量* @param y         距离右下角的Y偏移量* @param alpha     透明度, 选择值从0.0~1.0: 完全透明~完全不透明* @return BufferedImage* @throws IOException* @Title: 构造图片* @Description: 生成水印并返回java.awt.image.BufferedImage*/public static BufferedImage watermark(File file, File waterFile, int x, int y, float alpha) throws IOException {// 获取底图BufferedImage buffImg = ImageIO.read(file);// 获取层图BufferedImage waterImg = ImageIO.read(waterFile);// 创建Graphics2D对象,用在底图对象上绘图Graphics2D g2d = buffImg.createGraphics();// 获取层图的宽度int waterImgWidth = waterImg.getWidth();// 获取层图的高度int waterImgHeight = waterImg.getHeight();// 在图形和图像中实现混合和透明效果g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));// 绘制g2d.drawImage(waterImg, x, y, waterImgWidth, waterImgHeight, null);// 释放图形上下文使用的系统资源g2d.dispose();return buffImg;}/*** 输出水印图片** @param buffImg  图像加水印之后的BufferedImage对象* @param savePath 图像加水印之后的保存路径*/public static void generateWaterFile(BufferedImage buffImg, String savePath) {int temp = savePath.lastIndexOf(".") + 1;try {ImageIO.write(buffImg, savePath.substring(temp), new File(savePath));} catch (IOException e1) {e1.printStackTrace();}}
}

2、图片叠加主函数ImageDemo

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class ImageDemo {public static void main(String[] args) throws IOException {//源文件图片路径String sourceImage = "E:\\My Files\\MacBook.jpg";//水印图片路径String waterImage = "E:\\My Files\\AppleWatch.jpg";//生成图片路径String savePath = "E:\\My Files\\perfect.jpg";BufferedImage image = ImageUtils.watermark(new File(sourceImage),new File(waterImage),180,150,0.6f);ImageUtils.generateWaterFile(image,savePath);}
}

3、结果

Java代码实现水印图片制作相关推荐

  1. 【iText5 生成PDF】纯Java代码实现生成PDF(自定义表格、文本水印、单元格样式)

    工作中遇到需要生成PDF.最终选择了iText.其他也有通过html再生成.感觉不太适合就用了代码实现. 使用iText 5.5.13.1版本.纯Java代码实现 1.自定义表格合并指定行列完成数据填 ...

  2. java 多文字水印_Java 如何给Word文档添加多行文字水印

    前言html 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,以前那篇教程里主要指的是单行字体的水印,而在操做Word文档时,有时也会碰到须要添 ...

  3. linux加水印乱码,linux java程序加水印及中文乱码方案(二)

    上一篇介绍了在linux, centos图片加水印出现乱码的解决方案,<linux java程序加水印及中文乱码方案>, 在真实项目环境下,一是部署在虚拟机服务器,还有项目部署在docke ...

  4. Java实现图片水印文字换行、平铺、旋转效果

    Java代码实现对图片的水印文字的添加. 水印的效果是:水印文字的换行.水印文字的平铺.水印文字的旋转. import java.awt.Color; import java.awt.Font; im ...

  5. 【Java 代码实例 13】Java操作pdf的工具类itext

    目录 一.什么是iText? 二.引入jar 1.项目要使用iText,必须引入jar包 2.输出中文,还要引入下面```itext-asian.jar```包 3.设置pdf文件密码,还要引入下面` ...

  6. 【项目实战】Java代码反编译工具的使用 以及 如何对Java代码进行混淆?

    一.背景 现在交付给客户的代码,虽然不是以源码的形式交付,但是还经常会需要进行反编译,如何更好的做到反编译呢?本文探讨的是如何进行反编译的方法. 二. Java代码反编译工具的使用 (1)使用jad ...

  7. 使用java代码给视频添加水印

    使用java代码给视频添加水印 步骤一:下载相关依赖包: 相关地址:ffmpeg 步骤二:下载ffmpeg依赖软件 相关地址:点击下载 步骤三:直接上代码 类一:FFMPEG package cn.o ...

  8. 如何使用JAVA代码将WORD转成PDF.

    如何使用JAVA代码将WORD转成PDF. 引入jar包 <!-- 转换doc为pdf的组件 --><dependency><groupId>e-iceblue&l ...

  9. 编写高性能Java代码的最佳实践

    编写高性能Java代码的最佳实践 摘要:本文首先介绍了负载测试.基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践.最后研究了JVM特定的调优技巧.数据库端的优化和架 ...

最新文章

  1. 网络安全与机器学习(二):网络安全任务如何结合机器学习?
  2. 深造率超70%!这所顶尖大学毕业生:不读研怎么找工作?
  3. NSOperation下载网络图片(四)
  4. Oracle分页查询2
  5. UA MATH524 复变函数2 指数、对数与三角函数
  6. Spring OXM-XStream使用别名
  7. mysql+where+且,MySQL WHERE
  8. Adobe Acrobat Reader 快捷键
  9. linux的文件link占用空间的差别,Linux重要知识点汇总——磁盘与文件系统管理
  10. winform中键盘和鼠标事件的捕捉和重写(转)
  11. 六、MySQL DML数据操纵语言学习笔记(插入、修改、删除详解 + 强化复习)
  12. macOS Big Sur11.2发布候选版更新:修复蓝牙和显示连接问题
  13. jQuery关于复制(复制隐藏文字+显示文字)跳转,Clipboard
  14. C语言中数组变量和指针变量
  15. 第一次面试且失败的经历
  16. Kafka 学习笔记(二) :初探 Kafka
  17. QGC使用国内天地图卫星图并添加注记图层
  18. 单目标跟踪(模板更新)(UpdateNet)《Learning the Model Update for Siamese Trackers》
  19. LSF集群基本概念介绍
  20. 【科普】准大一新生如何挑选笔记本电脑

热门文章

  1. 努力学习打卡Day16
  2. 业余不求人,30秒拖拽制作封面图
  3. 名悦集团分享新手开车技巧口诀,开车零事故攻略
  4. Excel 2010 统计行数
  5. 模态对话框和非模态对话框
  6. GoLang之strings.Builder底层
  7. 【Oracle SQL】Oracle SQL 之七 SQL面试题比武招亲
  8. godaddy php5.ini,教你如何在godaddy升级Zend Optimizer
  9. 微信或QQ分享IOS应用时显示“未验证”问题相关文章汇总
  10. 玩转CSS3渐变(知识点部分)