java 图片 文字_java实现 给图片加上文字

近期添加了一个功能:将文字添加到图片中。

在生活小助手-->图片添加文字 模块

在文字填上你要添加的文字,

然后上传你要处理的图片

点击提交就可以了

最后点击红色文字部分就可以查看生成的图片

原图

结果图

代码部分:

将文字添加到图片

/**

/**

* 获取加入了文字的图片

* @param multipartFile

* @param text

* @param textColor

* @return

*/

private ByteArrayOutputStream getPicOutputSteam(MultipartFile multipartFile,String text,String textColor,String fontName){

InputStream inputStream = null;

ByteArrayOutputStream outputStream = null;

try{

//获取源图片的输入流

inputStream = multipartFile.getInputStream();

//获取源图片

Image img = ImageIO.read(inputStream);

//获取流中的长宽

//宽

int width = ((BufferedImage) img).getWidth();

//长

int height = ((BufferedImage) img).getHeight();

BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

//图形,通过操作这个图形最终生成我们的图片

Graphics2D g = bimage.createGraphics();

//设置字体颜色

g.setColor(ColorUtil.getColor(textColor));

//设置底色

g.setBackground(Color.white);

g.drawImage(img, 0, 0, null);

//字体

Font font = null;

//字体大小

int fontSize = height/10;

font = new Font(null, Font.BOLD, fontSize);

//将字体放置到画板中

g.setFont(font);

//文字放置在图片的坐标

int fontX = fontSize;

int fontY = height - fontSize;

g.drawString(text, fontX, fontY);

g.dispose();

outputStream = new ByteArrayOutputStream();

//往输出流中写数据

ImageIO.write(bimage, PicHandlerConstant.PicType.JPEG, outputStream);

}catch (Exception e){

log.error("PicAddTextServiceImpl getPicOutputSteam has error ...",e);

return null;

}finally {

//关闭各种资源

StreamUtil.inputClose(inputStream);

StreamUtil.outputClose(outputStream);

}

return outputStream;

}

代码如果有不合理的地方请大家支出,让我加深学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值