Java BufferImage 从初始化到保存

本文详细记录了使用Java生成图片的全过程,包括初始化BufferedImage、绘制用户头像(圆形带边框)、字体处理、将ARGB图像转换为RGB以消除红色mask,以及最终保存图片的操作。代码适用于Java 1.8并在IntelliJ编辑器中进行了测试,可直接用于项目中。
摘要由CSDN通过智能技术生成

最近做的java项目有涉及到生成图片的模块,考虑到资料多为英文,需要在stackoverflow和oracle API文档寻找。

特此记录,也许能帮到一样寻找api的人 。代码从项目中做了小修改,可以直接使用 Version: java 1.8  Editor: IntelliJ

步骤1 :初始化image和对应painter

//在最后保存图片前,建议用TYPE_INT_ARGB
BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_ARGB);

public Graphics2D initPainter(BufferedImage image){
    Graphics2D g2Painter = image.createGraphics();

    //给painter带上反锯齿属性,否则生成图片会像被蚂蚁啃过
  
    painter.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

    painter.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

    return g2Painter;
}

步骤2 :画用户头像 要求圆形带边框

int x = 40, y = 40, border = 1;

BufferImage avatarImage = new BufferedImage(x, y, BufferedImage.TYPE_INT_ARGB);
Graphics2D avatarPainter = initPainter(avatarImage); //如步骤1

//切割头像区域为圆形
Ellipse2D.Double shape = new Ellipse2D.Double(border, border,
				x - border * 2, y - border * 2);
avatarPainter.setClip(shape);

String imageUrl = ""; //要导入头像的url,自行替换
String backupUrl = ""; //默认头像url,用于找不到imageUrl时

Buffer
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值