java加水印 盖章_java加水印
给图片加水印的主要步骤包括:
1、获取原图的画笔
2、设置水印信息、水印位置
3、在原图上画出水印
工具代码
/**
* 在图片右下角添加白色文字水印
* @param is
* @param os
* @param text
* @throws IOException
*/
public static void makeWatermark(InputStream is, OutputStream os, String text, String format) throws IOException {
BufferedImage image = ImageIO.read(is);
if (image != null) {
int width = image.getWidth();
int height = image.getHeight();
//计算字体大小
int fontSize = (int)(width * height * 0.000008 + 13);
Font font = new Font("宋体", Font.PLAIN, fontSize);
Graphics2D g = image.createGraphics();
g.setFont(font);
g.setColor(Color.white); //水印颜色-白色
透明度
//float alpha = 0.9f;
//g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
int x = width - getWatermarkLength(text, g) - 10;
x = x < 0 ? 0 : x;
int y = height - 10;
y = y < 0 ? 0 : y;
//对线段的锯齿状边缘处理
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawString(text, x, y);
g.dispose();
ImageIO.write(image, format, os);
}
}
/**
* 获取水印文字总长度
* @param text 水印的文字
* @param g
* @return 水印文字总长度
*/
private static int getWatermarkLength(String text, Graphics g) {
return g.getFontMetrics(g.getFont()).charsWidth(
text.toCharArray(), 0, text.length());
}
测试代码
/**
* 测试制作水印
* @throws IOException
* @throws FileNotFoundException
*/
@Test
public void testMakeWatermark() throws FileNotFoundException, IOException {
String imageName = "java_coffee.jpg";
String srcPath = IMAGE_PATH + imageName;
imageName = "java_coffee_wm.jpg";
String detsPath = IMAGE_PATH + imageName;
ImageUtil.makeWatermark(new FileInputStream(srcPath),
new FileOutputStream(detsPath), "测试水印", "jpg");
}
效果图
标签:java,String,int,text,image,水印,param,加水
来源: https://blog.csdn.net/meism5/article/details/88861835
java加水印 盖章_java加水印相关推荐
- java 水印处理_java 图片水印处理
//main方法 Font font = new Font("微软雅黑", Font.PLAIN, 90); //水印字体 String srcImgPath = "C: ...
- java加密解密代码_java加解密文件公用方法整合(多看一本书,少写三行代码)
最近接到任务(文件的安全性)需要在文件上传到服务器上时将文件加密保存, 用户下载时将文件解密后返回给用户.翻了下方法最后决定用java中的Cipher类来完成(里面的实现方式挺全的). 上手实现.po ...
- Java md5加解密汉字_Java加解密_MD5
在Java中使用MD5摘要还是很方便的,直接上代码. 1 packagecom.cxc.nothing;2 3 importjava.nio.charset.Charset;4 importjava. ...
- java sha加解密算法_java加解密
SHA256 ------------------java自带实现方式--------------- package com.xiayu.demo; import java.io.Unsupporte ...
- java怎么给文档加水印_Java 如何给Word文档添加多行文字水印
前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...
- java文件下载并添加水印_Java下载文件加文字水印(Excel、PDF、图片)
一.导出Excel加文字水印 方法:通过实现准备一个带有水印的Excel文件,然后将数据覆盖该文件然后输出. 比如我准备了如下的一个带水印的模板,我起名为water.xlsx(网上有如何给Excel加 ...
- 在Java生成的html页面加水印,Java在Excel中添加水印的实现(单一水印、平铺水印)...
在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...
- Java实现给PDF文件加文字水印和图片水印(可以自定义水印格式)
使用Java代码给PDF文件加文字水印 直接上代码运行即可 依赖 有的可能用不上我直接复制全部了 <dependencies><!--word文件转PDF以及水印-->< ...
- java ueditor 图片上传加水印_Ueditor编辑器上传图片加水印【亲测可用】-帝国CMS整合...
Ueditor编辑器上传图片加水印 百度一下,有很多,但是方法都是一样的,写的不清不楚的.对于代码不是很了解的我们,却是头大.我整理了一下,下载下面的压缩包,解压缩之后,直接上传到 ueditor ...
最新文章
- 智源论坛 | 人工智能的数理基础(系列报告)
- DLL load failed: 页面文件太小,无法完成操作
- CSS基本选择器(元素选择器、类选择器、id选择器)
- JZOJ 3129. 【WinterCamp 2013】数三角形
- 使用Laravel框架发送邮件
- 2.3 C#中的数组
- 使用GoldenGate进行平台迁移和数据库升级(9i-11g)步骤描述
- #if DEBUG vs. Conditional(“DEBUG”)
- 阿里云OSS linux使用备忘录
- linux中查看相关日志记录,linux重启查看日志及历史记录 查询原因
- Linux 启动mysql提示表不存在
- 全奖博士招生,荷兰根特大学 ​IDLab 实验室,手语手势识别方向
- python 函数编程
- Spark Yarn Client模式spark.driver.host导致 Cannot assign requested address: Service ‘sparkDriver‘ failed
- 前端开发~uni-app ·[项目-仿糗事百科] 学习笔记 ·000【前言】
- 超级计算机运行吃鸡,决赛圈的时候,如果两个人同时被手雷炸死该怎么办呢?...
- 数据结构上机实践第八周项目5 - 计数的模式匹配
- php多级审核,BOS单据多级审核需在单据头上列示多个审核人员的处理方法
- android打印动画,Android 中的转场动画及兼容处理
- 第一台数控机床专用计算机采用什么元件,数控技术试题库(含答案)
热门文章
- 还在随大流用PostMan?快来试试Apipost吧
- MongoDB 中文显示乱码的 真正原因和解决方案,真的是cmd问题吗?
- 中国量身定制男装成衣品牌发展趋势解析-全球纺织网资讯中心
- (附源码)ssm城市旅游景点信息交流平台的设计与实现 毕业设计290915
- 电磁学及其计算机辅助教学,大学物理教材改革的典范—陈义成先生《电磁学及其计算机辅助教学》评介...
- android平板手,诺基亚7.9寸Android平板真机上手 或售1499元
- RFC 请求评议 潇湘博客
- kali linux网络扫描~网络扫描基础技术
- MATLAB中plot()函数的用法
- Android绘制小圆点