小程序分享图片(JAVA+小程序端)
2023-12-16 22:05:35
第一次做小程序海报分享,感觉canvas还是有点难度的。
所以用了JAVA后端生成,JAVA用了?ImageCombiner 组件去开发,整体来说感觉还是便捷很多的。
<dependency>
<groupId>com.freewayso</groupId>
<artifactId>image-combiner</artifactId>
<version>2.6.5</version>
</dependency>
下面我把关键代码加一下:
//文件的话,放在static静态目录即可。
BufferedImage bf= ImageIO.read(ImageUtil.class.getResource("/static/share.jpg"));
//linux环境的话,是没有中文字体的,需要将字体也一起打包进入jar包里面
String path="/Alibaba-PuHuiTi-Regular.ttf";
ImageCombiner combiner = new ImageCombiner(bf, OutputFormat.JPG);
combiner.addTextElement("xxxxx",path, 60, 180, 100);
//组合图片
combiner.combine();
//生成bufferImage,返回
BufferedImage combinedImage = combiner.getCombinedImage();
return combinedImage;
在controller端的话
? ?
@GetMapping("/getOrderShareImg")
public void loadShare(Long id, HttpServletResponse response) throws Exception {
//业务查询逻辑
OrderVo ncOrderVo = orderService.queryById(id);
//拿到outputStream,
ServletOutputStream os = response.getOutputStream();
BufferedImage bufferedImage = ImageUtil.genImage(ncOrderVo);
//write即可
ImageIO.write(bufferedImage,"jpg",os);
os.close();
}
小程序端的话
wx.downloadFile({
url: request.BASE_URL+'api/wxapp/getOrderShareImg?id='+this.data.order.id, // 下载url
success (res) {
// 下载完成后转发
wx.showShareImageMenu({
path: res.tempFilePath,
success() {},
fail: console.error,
})
},
fail: console.error,
})
文章来源:https://blog.csdn.net/xuxiaoxie/article/details/135037362
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!