Java开发文字水印
来源:互联网 发布:vcd音频提取软件 编辑:程序博客网 时间:2024/06/15 22:12
这个跟上次的图片水印差不多,全部封装在一个方法里,然后使用main方法测试,在本地生成图片就可以看到效果了
效果图
/** * 打印文字水印 * * @param text * 文本内容 * @param targetImg * 需要被打水印的图片 * @param fontName * 字体名 * @param fontStyle * 字体样式 * @param fontSize * 字体大小 * @param x * 坐标 * @param y * 坐标 * @return void */ public static void getTextMark(String text, String targetImg, String fontName, int fontStyle, int fontSize, int x, int y) { // 实例化需要被打水印的图片 File file = new File(targetImg); try { // 将文件转换成图片的对象 Image img = ImageIO.read(file); // 获取图片的宽度与高度 int width = img.getWidth(null); int height = img.getHeight(null); // 将图片加载到内存中 BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); // 绘制图片 Graphics g = image.createGraphics(); // 绘制指定图像 缩放到指定矩形区域 这里需要从0 0 坐标开始 g.drawImage(img, 0, 0, width, height, null); //设置字体颜色 g.setColor(Color.ORANGE); //设置字体样式 g.setFont(new Font(fontName,fontStyle,fontSize)); //打水印 g.drawString(text, x, y); //// 结束对文件对象的处理 g.dispose(); // 获取文件路劲 String pathName = file.getParentFile().getAbsolutePath(); // 给文件命名 String fileName = pathName + "/" + new Date().getTime() + ".jpg"; System.out.println(fileName); // 输出打印好水印的文件 FileOutputStream fos = new FileOutputStream(fileName); // JPEGCodec 用来创建一个和指定输出流关联 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos); encoder.encode(image); // 关闭流 fos.close(); System.out.println("文字水印打印成功!"); } catch (Exception e) { e.printStackTrace(); } }
main方法测试public static void main(String[] args) { String text = "晚安各位!"; String textImg = "C:\\Users\\Administrator\\Desktop\\array\\time\\3.jpg"; getTextMark(text,textImg,"微软雅黑",16,45,100,200); }
阅读全文
0 0
- Java开发文字水印
- Java添加水印+图片水印+文字水印
- Java 文字水印处理
- java 添加文字水印
- java给图片加水印,文字水印
- java-图片加水印,文字水印
- jsp,java加图片水印,文字水印
- Java实现 图片水印或者文字水印
- java 实现图片水印 文字水印
- Java实现 图片水印或者文字水印
- java图片加水印文字
- java图片添加水印文字
- Java添加水印(图片水印,文字水印)
- Java添加水印(图片水印,文字水印)
- java图片添加水印,包括文字水印和图片水印
- java开发图片水印
- Java开发图片水印
- 使用Java添加图片水印和文字水印
- HDU 1010 Tempter of the Bone
- delphi7 winsock
- Cocos骨骼动画功能解密
- [模拟]HDU 5983 Pocket Cube
- 线程堆栈大小的使用介绍
- Java开发文字水印
- 服务器下的python调试方法
- android 随笔
- 【51Nod】1137 矩阵乘法
- 事务和连接池
- jquery源码分析
- [C++ Primer CH06] 第6章 函数(笔记)
- 疯狂java讲义第十六章(多线程)书后习题我的解答以及反思
- [最大费用最大流]HDU 5988 Coding Contest