暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

Java使用Graphics2D生成一个证书

一叶扁舟 2022-05-20
1598
wecomtemp66f7fb3e3f57d40919b9641cbd316681.png

一、上代码

废话不多说,直接上代码

public class WaterMarkTest { /** * 设置水印 * @param graphics2D 绘图对象 * @param context 要绘制的内容 * @param x 位置:横坐标 * @param y 位置:纵坐标 * @param font 字体 * @param color 字体颜色(RGB Color对象) */ public static void setMark(Graphics2D graphics2D, String context, Integer x, Integer y, Font font, Color color) { // 设置字体 graphics2D.setFont(font); // 设置颜色 graphics2D.setColor(color); // 写字 graphics2D.drawString(context, x, y); } public static void main(String[] args) throws IOException { // 读取原图片信息 ClassPathResource resource = new ClassPathResource("test.png"); InputStream inputStream = resource.getInputStream(); //文件转化为图片 Image srcImg = ImageIO.read(inputStream); //获取图片的宽、高 int srcImgWidth = srcImg.getWidth(null); int srcImgHeight = srcImg.getHeight(null); // 加水印 BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB); Graphics2D g = bufImg.createGraphics(); g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null); // 证书中写字 setMark(g, "张三丰 666啊", 335, 400, new Font("Songti SC", Font.PLAIN, 64), Color.decode("#332e2e")); setMark(g, "666 高级认证", 380, 480, new Font("Songti SC", Font.PLAIN, 46), Color.decode("#e71f19")); //画出水印 g.dispose(); // 下载证书 ByteArrayOutputStream bs = new ByteArrayOutputStream(); ImageOutputStream imOut = ImageIO.createImageOutputStream(bs); ImageIO.write(bufImg, "png", imOut); InputStream inputStream2 = new ByteArrayInputStream(bs.toByteArray()); OutputStream outStream = new FileOutputStream("result.png"); IOUtils.copy(inputStream2, outStream); inputStream.close(); outStream.close(); } }

二、注意事项

2.1、如何确定自己的字体有哪些?

public static void main(String[] args) { GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fontName = e.getAvailableFontFamilyNames(); for (int i = 0; i < fontName.length; i++) { System.out.println(fontName[i]); } }

2.2、如何确定x、y轴位置?

类似于下面, "张三丰 666啊"这个左下角位置(335px, 400px),那么x、y位置就是335、400

image.png

三、原图材料附件

wecomtempcefd5f3d2bc056989afb94cc130a3441.png

最后修改时间:2024-07-03 21:28:18
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论