E企盈营销工具技术服务商 热线:4006-838-530

java实现用用户头像代替小程序码的logo(任意图片替换小程序码logo)

E企盈直播平台营销卖货系统

由于个人水平有限,实在是不能保证代码的严谨性,我只能说是可以实现功能,用来个性化小程序码logo//生成文件名称,这个不是必须的,可以根据自己的业务逻辑来写Random random = new Random();  int rannum = (int) (random.nextDouble() * (99999 – 10000 + 1)) + 10000;SimpleDateFormat df = new SimpleDateFormat(“yyyyMMddHHmmss”);String newFileName = df.format(new Date())+rannum+”.png”;    //截取为正方形图片,长宽自定义,我自己估摸着是195,这个可以根据自己情况自己设置大小try {    //此处是要替代logo的自定义图片路径,自定义图片不要用透明的或者半透明的    BufferedImage image = ImageIO.read(new File(“C:\Program Files\tomcat-huipiao\webapps\Financial\img\”+imgNameString));    //int w = image.getWidth();    //int h = image.getHeight();    BufferedImage output = new BufferedImage(195, 195, BufferedImage.TYPE_INT_ARGB);    Graphics2D g2 = output.createGraphics();    output = g2.getDeviceConfiguration().createCompatibleImage(195, 195, Transparency.TRANSLUCENT);    g2.dispose();    g2 = output.createGraphics();    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);    g2.fillRoundRect(0, 0,195, 195, 720, 720);    g2.setComposite(AlphaComposite.SrcIn);    g2.drawImage(image, 0, 0, 195, 195, null);    g2.dispose();        //这是生成的临时替换logo图片的保存路径                 ImageIO.write(output, “png”, new File(“C:\Program Files\tomcat-huipiao\webapps\Financial\img\”+newFileName)); } catch (IOException e) {        e.printStackTrace(); }     //生产新的二维码图片 try{    //此处是小程序码的路径    BufferedImage appletImg = ImageIO.read(new FileInputStream(“C:\Program Files\tomcat-huipiao\webapps\Financial\img\”+codeNameString));    Graphics2D g2d = appletImg.createGraphics();    // 设置抗锯齿的属性      g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);    g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);        //此处是替换logo的临时图片路径    BufferedImage centerImg = ImageIO.read(new File(“C:\Program Files\tomcat-huipiao\webapps\Financial\img\”+newFileName));    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(“C:\Program Files\tomcat-huipiao\webapps\Financial\img\”+codeNameString)); }catch (Exception e){    e.printStackTrace(); } //删除生成的临时替代logo文件 new File(“C:\Program Files\tomcat-huipiao\webapps\Financial\img\”+newFileName).delete();//有啥优化意见大家可以提出

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » java实现用用户头像代替小程序码的logo(任意图片替换小程序码logo)
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏