最近有一个任务,是将微信返回的小程序码加上相应的标识,以此直观看出当前小程序码的归属。
Java中对图片进行操作需要通过Image类,该类有一个实现类BufferedImage,通过BufferedImage我们可以获得当前缓存图片的画笔工具,对当前图片进行操作,比如将另一张图片放在当前图片上加水印,或者在当前图片上加文字水印。
话不多说,直接上代码实例,写的不好请见谅
1、大多数时候我们都是获取到的图片(小程序码/二维码)的文件流,因为我这里是获得流。
//获取缓冲图片
BufferedImage bufferedImage = ImageIO.read(inputStream);
//获取当前图片的像素width height
int oldWidth = bufferedImage.getWidth();
int oldHeight = bufferedImage.getHeight();
2、因为从微信返回的小程序码,它的这个码呀已经是占据了整个图片的大小,所以呢,我们需要将这个图片加上边框或者加上空白的地方(看具体的要求),我们可以在边框加上标示性的水印。
//重新生成新的大小的图片
BufferedImage bufferedImage1 = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = bufferedImage1.createGraphics();
//将原图画到新的图片上
graphics2D.setColor(gColor);
graphics2D.drawImage(bufferedImage,x