- 浏览: 167541 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
mengyue0477:
最后还不忘吐槽一下 哈哈 太逗了
spring容器的懒加载lazy-init设置 -
comet0515:
不是maven工程能不能用checkstyle插件?job是一 ...
jenkins 配置checkstyle -
xfxlch:
http://docs.spring.io/spring-bo ...
NoteBook -
With_Me_Forever:
太浅了。我最近也在看着方面的资料,一起进步把。
互联网金融定义 -
xfxlch:
在http://r.m.baidu.com/6pmxgig
NoteBook
有时候为了表明图片来源,或者是为了版权等要对图片加上水印,以表明出处。
本例主要是在一张图片上打上文字水印。
效果图:
直接上代码了:
顺便也把图片水印的代码放在一起好了。这不部分代码是从网上来的。
效果图:
本例主要是在一张图片上打上文字水印。
效果图:
直接上代码了:
/** * <br> * do what you want to do and never stop it. * <br> */ package com.luch.utils; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; /** * @author Jack * 2014-4-27 * <br> */ public class WaterMark { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { new WaterMark(); } public WaterMark() throws IOException { String logoText = "取钱专用章"; Font font = new Font("MS Song", Font.BOLD, 10); BufferedImage bufferedImage = ImageIO.read(new File("F:\\Tem\\IMG_20130106_163114.jpg")); BufferedImage bufImge = waterMark(bufferedImage, logoText , font,-20); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ImageIO.write(bufImge, "jpg", baos); File file = new File("F:\\Tem\\watermark.jpg"); if(file.exists()) { file.delete(); } FileOutputStream out = new FileOutputStream(file, true); out.write(baos.toByteArray()); out.flush(); out.close(); } /** * 指定字体进行水印 * * @param bufferedImage * @param logoText * @param font * @param degree * @return */ public BufferedImage waterMark(BufferedImage bufferedImage, String logoText, Font font, Integer degree) { if (bufferedImage == null) { return null; } int width = bufferedImage.getWidth(); int height = bufferedImage.getHeight(); int fontSize = (int) Math.sqrt(width * width + height * height) / (logoText.length() / 2 + 5); font = font.deriveFont(Font.BOLD, fontSize); double radians = Math.atan(height * 1.0 / width); Graphics2D graphics = bufferedImage.createGraphics(); // 设置对线段的锯齿状边缘处理 graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics.drawImage(bufferedImage, 0, 0, null); if (null != degree) { // 设置水印旋转 graphics.translate(width / 2.0, height / 2.0); graphics.rotate(-radians);// , width + fontSize / 2, 0); } // 设置颜色 graphics.setColor(Color.black); // 设置 Font graphics.setFont(font); float alpha = 0.5f; graphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha)); graphics.drawString(logoText, -width / 2, 0); graphics.dispose(); return bufferedImage; } }
顺便也把图片水印的代码放在一起好了。这不部分代码是从网上来的。
效果图:
/** * 把图片印刷到图片上 * * @param pressImg -- * 水印文件 * @param targetImg -- * 目标文件 * @param x * --x坐标 * @param y * --y坐标 * @throws IOException */ public static void pressImage(String pressImg, String targetImg, int x, int y) throws IOException{ //目标文件 File file = new File(targetImg); Image target = ImageIO.read(file); int height = target.getHeight(null); int width = target.getWidth(null); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = image.createGraphics(); g.drawImage(target, 0,0, width, height,null); //水印文件 File fileMark = new File (pressImg); Image water = ImageIO.read(fileMark); int height_water = water.getHeight(null); int width_water = water.getWidth(null); System.out.println(height_water + "\t" + width_water); // 左右\上下\宽\高 g.drawImage(water,x, y, width/5, height/5, null); //水印结束 g.dispose(); FileOutputStream fos = new FileOutputStream(targetImg); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos); encoder.encode(image); fos.close(); }
发表评论
-
eclipse project .setting
2016-08-24 11:30 606有一个文件在.setting的目录下面: 文件名:org.ec ... -
jar命令工具
2016-01-23 20:29 690背景: 今天介绍两个jar的命令工具,对我个人来说,还是比较好 ... -
Java的按值传递
2016-01-23 19:30 565问题: 最近在看Mar ... -
Mac OS 安装java 开发环境
2016-01-03 13:00 1775我的机器是: 1. jdk1.7下载安装 jdk7:h ... -
记一次Java Rest Service Hang住的经历
2015-12-28 20:08 2701背景: 在前后端分开开发的过程中,前段的页面要调用后台Java ... -
一个String字符串的问题2
2015-12-14 14:22 612背景: 今天遇到个问题: String str = & ... -
我读重构这本书
2015-12-01 22:30 0第一点:关注变量命名。好的变量名能让读者更快更好的理解程序到底 ... -
系统log的编写
2015-11-16 09:41 0log很关键,一定要记录好对追踪问题有帮助的日志。 -
CAS 授权问题
2015-11-16 09:40 0CAS 授权问题 -
Caused by: java.lang.UnsupportedOperationException 解决方案
2015-10-21 22:09 4085背景: 今天在跑一个UnitTest,跑的过程中想在list ... -
LogBack 框架里log-access的使用
2015-10-18 16:05 7106背景: 想通过配置log-access来实现直接使用浏览器来访 ... -
how to fix "org.hamcrest.CoreMatchers.containsString cannot be resolved"
2015-09-23 23:12 3031背景: 山姆大叔比较喜欢用一些新的技术和新的特性,最近在jun ... -
java 打印金字塔
2015-08-24 00:53 787背景: 一个同事,面试应聘者喜欢用学校里学过的一个书本或者课后 ... -
纯jsp servlet 实现 upload file功能
2015-08-17 20:35 747本篇主要是简单的实现jsp servlet 的上传文件的功能, ... -
dos 命令窗口執行java 命令,帶包路徑
2015-07-26 12:16 535記錄一下,是為了自己下次再run java命令的時候,可以很快 ... -
tomcat 远程调试
2015-07-23 18:41 491背景: 我们在项目开发过程中,很多时候会遇到这样的情况:项目在 ... -
使用android studio 来开发hello world app的时候,遇到的一些坑。
2015-07-13 01:38 2164使用android studio 来开发h ... -
ThreadLocal
2015-05-11 07:22 427Java线程:深入ThreadLocal ThreadLo ... -
Hibernate Interceptor(拦截器)
2015-04-28 20:30 2428需求: 对所有操作数据库的事件,添加audit log, 此l ... -
eclipse 加入tomcat 包
2015-03-24 01:09 433...
相关推荐
分享:Java生成文字水印或图片水印
在Java编程语言中,生成带有水印的图片是一项常见的任务,尤其在版权保护、品牌标识或者数据可视化等领域。本文将详细讲解如何利用Java实现这一功能,包括如何动态设置水印的文字大小、颜色以及水印的倾斜角度。 ...
10. **安全考虑**:在接收用户上传的文件时,应验证文件类型和大小,防止恶意文件上传,同时对生成的水印图片进行权限控制,避免非法访问。 通过以上这些知识点的结合运用,我们可以构建一个功能完善的Java应用,...
标题中的“POI 完美生成带文字水印的excel”指的是使用Apache POI库在Java环境下创建带有文字水印的Excel文件。Apache POI是一个流行的开源库,它允许开发者在Java应用程序中读写Microsoft Office格式的文件,包括...
java 图片添加水印 图片叠加文字类 图片生成方法,如果需要在已有的图片叠加文字
在Java编程领域,将文字转换为图片是一种常见的需求,它广泛应用于验证码生成、文本水印、数据可视化等领域。本文将详细讲解如何利用Java实现这一功能,主要涉及以下几个知识点: 1. **Graphics2D API** Java中的`...
以下是一个简单的Java代码示例,演示如何使用Apache POI生成带有文字水印的Excel文件: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; import javax.imageio.ImageIO; ...
itext5生成PDF(含水印文字及图片)的源代码,操作说明详细,代码完整可用。
同样,利用图像处理库,可以生成文字水印并将其融合到图片中。 3. **上传图片流程**:在用户端,通常会有个表单或API接口供用户上传图片。这些图片在上传过程中会被临时存储,并触发后台的水印添加逻辑。 4. **...
这个压缩包文件包含的源码是用于在图片上添加图片水印和文字水印的功能,同时允许调整水印的透明度和偏移度。让我们详细探讨这些关键知识点。 1. **Java 图片处理**:Java提供了`java.awt.image`和`javax.imageio`...
标题“java本地及网络图片重新生成”与描述“java本地重新绘制生成到本地,及网络图片重新绘制生成Base64为字符串”所指向的知识点主要涵盖了在Java环境下,如何实现对本地图片的读取、编辑与保存,以及如何对网络...
水印通常用于标识文档的所有权或提供额外的安全层,而这里的水印是通过将文字转化为图片再添加到Excel工作表中实现的。 首先,我们需要了解Apache POI的基本概念。POI提供了HSSF(Horrible Spreadsheet Format)和...
图片操作类源代码,该类主要用于给图片进行缩放、加水印和得到图片的高、宽及类型。 具体操作请自己参照方法说明自己测试改写。
对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115
"java 长微博,文字&图片生成自定义图片"这一主题聚焦于如何利用Java技术来创建包含文字和图片的个性化长微博图像。下面我们将深入探讨这一话题,讲解相关的知识点。 首先,Java提供了丰富的库来处理图像操作,其中...
在Java编程语言中,处理图片是一项常见的任务,包括调整图片大小、等比例缩放、裁剪、压缩以及添加水印等。以下将详细介绍这些知识点: 1. **等比例缩放图片**: 在Java中,我们可以使用`java.awt.image....
首先,让我们关注如何在Java中创建图片并添加图片和文字水印。这个过程涉及到Java的图像处理能力,主要使用`java.awt`和`javax.imageio`这两个包。以下是一些关键步骤: 1. **加载源图像**:使用`ImageIO.read()`...
java——图片字体显示方块问题处理 /usr/java/jdk1.7.0_80/jre/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf /usr/java/jdk1.7.0_80/lib/fonts/fallback msyhbd.ttf msyh.ttf wqy-microhei.ttf
Java编程语言在图像处理领域有着广泛的应用,其中包括为图片添加水印的功能。水印的添加不仅可以保护图片的版权,还可以增加个性化元素。本软件就是基于Java实现的图片水印工具,提供了源代码供学习和参考。 该软件...