其实,小程序码的中心图片是不能自定义的,使用的是小程序基本信息中的头像。所以,不要去想自定义的事情了。但是我们可以对生成的小程序码做一定的操作以达到这种效果,用到的其实就是Java Graphics2D绘图。流程如下:
1、生成小程序码,见该博文 Java生成无限制带参小程序码
2、1步骤可获得一张小程序码图片,准备一张大小与中心大小比较合适的图片,以下代码就是用来替换中心区域的
public class Test
{
public static void main(String[] args)
{
try
{
BufferedImage appletImg = ImageIO.read(new FileInputStream("D:\\applet.png"));
Graphics2D g2d = appletImg.createGraphics();
// 设置抗锯齿的属性
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
BufferedImage centerImg = ImageIO.read(new File("D:\\center.png"));
g2d.drawImage(centerImg.getScaledInstance(centerImg.getWidth(), centerImg.getHeight(), Image.SCALE_SMOOTH), (appletImg.getWidth() - centerImg.getWidth()) / 2, (appletImg.getHeight() - centerImg.getHeight()) / 2, null);
// 关闭资源
g2d.dispose();
ImageIO.write(appletImg, "png", new File("D:\\newApplet.png"));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}