JAVA 图片添加内容
公司最近需要进行图片内容动态添加数据需求
boolean flag = PDFReader.createStringMark(“C:\Users\zhangwp\Desktop\1.jpg”, “CALG”,“C:\Users\zhangwp\Desktop\12.jpg”);
System.out.println(flag);
具体内容位置等根据需求调试
/*** 给图片添加文字内容* @param filePath 原图路径* @param markContent 文字内容* @param outPath 添加文字内容的图片存放路径地址* @param flag 可以根据flag值,给图片设置具体值*/public static void createStringMark(String filePath,String markContent,String outPath,Integer flag) {ImageIcon imgIcon = new ImageIcon(filePath);Image theImg = imgIcon.getImage();int width = theImg.getWidth(null) == -1 ? 200 : theImg.getWidth(null);int height = theImg.getHeight(null) == -1 ? 200 : theImg.getHeight(null);
// System.out.println(width);
// System.out.println(height);
// System.out.println(theImg);BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);// RGB形式Graphics2D g = bimage.createGraphics();Color mycolor = Color.white; // 颜色g.setColor(mycolor);g.setBackground(Color.white);// 设置背景色g.drawImage(theImg, 0, 0, null);// 参数一:image是要加载的图像;参数二,三:x,y是指定绘制图像矩形左上角的位置;参数四:observer是要绘制图像的容器,一般此参数默认为null/* 设置抗锯齿 消文字锯齿:RenderingHints.KEY_TEXT_ANTIALIASING* 消绘图锯齿:RenderingHints.KEY_ANTIALIASING* 字体圆滑: RenderingHints.VALUE_TEXT_ANTIALIAS_ON*/switch (flag){case 0:
// g.setFont(new java.awt.Font("黑体", java.awt.Font.BOLD, 24)); // 字体、字型、字号
// g.drawString(markContent, 1, 39); // 画文字 文字在1宽度,39高度g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);// 设置抗锯齿g.setFont(new java.awt.Font("黑体", java.awt.Font.BOLD, 24)); // 字体、字型、字号g.setPaint(new Color(0, 0, 0, 64));// 阴影颜色g.drawString(markContent, 1, 39);// 先绘制阴影g.setPaint(Color.WHITE);// 正文颜色g.drawString(markContent, 1, 39);// 用正文颜色覆盖上去break;case 1:
// g.setFont(new java.awt.Font("黑体", java.awt.Font.BOLD, 16)); // 字体、字型、字号
// g.drawString(markContent, 1, 17); // 画文字 文字在1宽度,17高度g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);// 设置抗锯齿g.setFont(new java.awt.Font("黑体", java.awt.Font.BOLD, 16)); // 字体、字型、字号g.setPaint(new Color(0, 0, 0, 64));// 阴影颜色g.drawString(markContent, 1, 17);// 先绘制阴影g.setPaint(Color.WHITE);// 正文颜色g.drawString(markContent, 1, 17);// 用正文颜色覆盖上去break;default:g.setFont(new java.awt.Font("黑体", java.awt.Font.PLAIN, 1)); // 字体、字型、字号g.drawString(markContent, 1, 1); // 画文字 文字在1宽度,1高度break;}g.dispose();try {FileOutputStream out = new FileOutputStream(outPath); // 一个特定的输出文件名JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);param.setQuality(100, false); // 进行高质量图片缩放encoder.encode(bimage, param);out.close();} catch (Exception e) {e.printStackTrace();throw new ServiceException(e.getMessage());}}
1.jpg
2.jpg
JAVA 图片添加内容相关推荐
- Java 图片添加数字暗水印工具类
Java 图片添加数字暗水印工具类. package cnki.thesis.common.utils;import org.opencv.core.*;import java.util.ArrayL ...
- Java 图片添加文字或者logo水印(附代码) | Java工具类
目录 前言 环境依赖 代码 总结 前言 本文提供java工具类,给图片添加文字或者logo图片的水印效果. 环境依赖 工具库maven依赖添加 <dependency><groupI ...
- java 图片阴影_Java如何为 PPT 中的图形添加阴影效果
在PowerPoint文档中,给图片添加阴影效果能增强图片的逼真度,使其贴近现实效果,提升文档的美观度. 本文将展示如何使用Free Spire.Presentation for Java为PPT中的 ...
- JAVA 给图片添加文字水印
水印操作有很多,例如:给图片添加文字.图片水印,给pdf文件添加水印,给文件加盖公章,这类需求还是时常会遇到的,今天就简单记录一下给图片添加文字水印的demo,仅供大家参考,后续会写别的情况的添加水印 ...
- Java实现添加文字水印、图片水印功能
Java实现添加水印功能 添加水印 Java 2D API介绍 绘制文字水印 绘制图片水印 循环添加文字水印 添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经授权的人使用或传播.为图片 ...
- java 给图片添加文字
java 给图片添加文字 最近开发中要实现给图片加文字功能,本打算用Jmagick实现的,可是中文出现乱码,没有找到解决办法,就用 最原始的方法实现了,如果随知道Jmagick图片解决中文乱码问题,可 ...
- Java分享--给图片添加文字水印(文字可旋转)
这篇文章主要介绍了Java实现给图片添加文字水印,文字水印的方法,涉及java针对图片的读取.水印添加设置等相关操作技巧,需要的朋友可以参考下 . 很多时候项目中的图片需要一定的版权,就是人家拿出去用 ...
- Java给图片添加文字水印
闲着没事,研究了下图片水印的事儿,图片水印虽然恶心,而且大大的影响了图片的美观,试想一下,一张美女的性感写真照,下方来了个大大的水印"XXXX所有",看着那猥琐的文字水印,是不是很 ...
- java io在文件结尾持续添加内容
[代码] java io在文件结尾持续添加内容 public static void write(String path, String content) {try {File f = new Fil ...
最新文章
- 官宣弃用Java 8!Kafka 3.0.0 新功能get
- JQuery EasyUI 动态隐藏
- oracle故障一例,工作中遇到的oracle故障分析和处理一例
- java socket 判断是否断开_Linux Socket:如何在客户端程序中检测断开的网络?
- UBUNTU安装Android Studio 3
- NYOJ 819奶牛 水
- 广播地址的计算方法(与运算、或运算)
- Android仿QQ列表滑动
- 基于北斗观测值的智能手机GNSS定位研究
- 苹果发布iOS10.2.1 ,别升级!别问为什么
- 什么是线性电路,非线性电路
- Linux下qt/C++全局键盘监控,处理键盘事件,输出按键码
- 标准盒子模型与怪异盒子模型
- 5个免费翻译网页的工具,快速 、高效、准确率高!
- 【JVM】GC垃圾回收(三)——零落成泥碾作尘,只有香如故
- 水经注,bigemap 功能对比
- 压力传感器行业调研报告 - 市场现状分析与发展前景预测
- 【预测模型-ELAMN预测】基于蚁群算法优化ELMAN神经网络实现数据回归预测matlab代码
- 【数学建模】灰色关联分析 + Matlab代码实现
- 如何申请外网ip地址