数字图像处理——用Java对数字图像写水印
来源:互联网 发布:linux域名绑定公网ip 编辑:程序博客网 时间:2024/06/09 15:01
写水印这个是数字图像处理中十分常见的操作,比如我们在CSDN上传个图片啥的,它还要在图片的右下方写点“http://blog.csdn.net/sinat_36246371”,那么我们用Java代码也在图片上写点啥,直接看代码吧。
import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class ImageWaterMark { public static void main(String[] args) { BufferedImage image = null; File file = null; try { file = new File("E:\\in.jpg"); image = ImageIO.read(file); BufferedImage temp = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB); Graphics graphics = temp.getGraphics(); graphics.drawImage(image, 0, 0, null); graphics.setFont(new Font("Arial", Font.PLAIN, 40)); graphics.setColor(new Color(0, 0, 255, 255)); String text = "K.Sun's CSDN"; graphics.drawString(text, image.getWidth() / 2, image.getHeight() / 2); graphics.dispose(); file = new File("E:\\out.jpg"); ImageIO.write(temp, "jpg", file); } catch (IOException e) { e.printStackTrace(); } }}
代码对图像的读写与前面的一样,不需要再啰嗦了。BufferedImage
在前面也讲过了,就是指明图像的表现形式。
不一样的地方来了:
首先我们用getGraphics()
方法获得了一个Graphics
对象,这个对象是要存储我们将要画在图像上的文字的,实际上也是一个二维图形对象。
drawImage(Image img, int x, int y, ImageObserver observer)
指定了图像左上角的位置,而参数ImageObserver只的是图像异步加载机制,一般也不用,所以设为null
就行了。
然后通过setFont(Font f)
和setColor(Color c)
方法设置颜色和字体,最后用drawString(String str, int x, int y)
方法,就是说要画在图像的什么位置。
输出结果是:
阅读全文
0 0
- 数字图像处理——用Java对数字图像写水印
- 数字图像处理——用Java对数字图像进行读写
- 数字图像处理——用Java对数字图像取反
- 数字图像处理——用Java对图像做镜像变换
- 《数字图像处理》——数字图像基础
- 数字图像处理——滤波器
- 数字图像处理——轮廓
- 数字图像处理—局部增强
- Java数字图像处理基础
- Java数字图像处理基础知识
- 冈萨雷斯《数字图像处理》学习笔记二——数字图像基础
- 数字图像和数字图像处理
- 浅谈用Java进行数字图像处理
- 《数字图像处理》——形态学图像处理
- java实现简单的数字图像水印系统
- 数字图像处理——几何变换
- 数字图像处理——怎样学习
- 数字图像处理—图像分割—分类
- 随机数
- 【设计模式】适配器模式
- 【iOS】View跳转和传值
- 【Shader实战篇】PBR贴图之Normal Map贴图
- N
- 数字图像处理——用Java对数字图像写水印
- Unity 游戏框架搭建 (五) 简易消息机制
- 在Winform中向DataGridView控件添加数据的三种方式
- 错误提示:Unable to connect to adb.Check if adb is installed correctly
- 同步阻塞通信-伪异步I/O编程
- 安装mongodb复制集
- Unity 游戏框架搭建 (六) 关于框架的一些好文和一些思考
- rpc
- Android中的信息输出:System.out和Log的源码分析与对比(Log篇)