Java生成透明背景图片
程序员文章站
2022-04-04 22:48:08
...
说明:
- 涉及到的类:BufferedImage,Graphics2D,ImageIO
- 不多说,很简单,运行例子,查看注释
package com.cxy.gui; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** 绘制透明背景的文字图片 * @author cxy @ www.cxyapi.com */ public class DrawTranslucentPng { public static BufferedImage drawTranslucentStringPic(int width, int height, Integer fontHeight,String drawStr) { try { BufferedImage buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D gd = buffImg.createGraphics(); //设置透明 start buffImg = gd.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT); gd=buffImg.createGraphics(); //设置透明 end gd.setFont(new Font("微软雅黑", Font.PLAIN, fontHeight)); //设置字体 gd.setColor(Color.ORANGE); //设置颜色 gd.drawRect(0, 0, width - 1, height - 1); //画边框 gd.drawString(drawStr, width/2-fontHeight*drawStr.length()/2,fontHeight); //输出文字(中文横向居中) return buffImg; } catch (Exception e) { return null; } } public static void main(String[] args) { BufferedImage imgMap = drawTranslucentStringPic(400, 80, 36,"欢迎访问我的博客"); File imgFile=new File("D://www.cxyapi.com.png"); try { ImageIO.write(imgMap, "PNG", imgFile); } catch (IOException e) { e.printStackTrace(); } System.out.println("生成完成"); } }
写一个测试的html来测试透明
<div style="background-color:black;height:200px;text-align: center;padding: 100px"> <img src="www.cxyapi.com.png"/><br/> <span style="font-size:36px;color:orange">www.cxyapi.com</span> <div>
结果图:
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
3.更多的内容请看我的 个人博客(测试版)
上一篇: php cal_days_in_month函数怎么用
下一篇: 怎么在mysql中附加数据库