码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 生成二维码。且可调颜色


    controller代码如下:

    1. /*
    2. * 生成二维码
    3. * */
    4. @GetMapping("/testEwm")
    5. @ResponseBody
    6. public void createQRCode( String data, Integer height ,Integer width, HttpServletResponse response,String type) throws Exception {
    7. response.setHeader("Pragma", "no-cache");
    8. response.setHeader("Cache-Control", "no-cache");
    9. response.setDateHeader("Expires", 0);
    10. response.setContentType("image/jpeg");
    11. int ht=200;
    12. int wt=200;
    13. BufferedImage image = ewm.createImage(data,null==height?ht:height,null==width?wt:width,type);
    14. // 创建二进制的输出流
    15. ServletOutputStream out = response.getOutputStream();
    16. ImageIO.write(image, "jpeg", out);
    17. }

    service层只需更改type类型就可以调整对应二维码颜色,代码如下:

    1. //生成二维码
    2. public static BufferedImage createImage(String content, int ht, int wt,String type) {
    3. Hashtable hints = new Hashtable();
    4. hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    5. hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
    6. hints.put(EncodeHintType.MARGIN, 1);
    7. BitMatrix bitMatrix = null;
    8. try {
    9. bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, wt, ht, hints);
    10. } catch (WriterException e) {
    11. e.printStackTrace();
    12. }
    13. int width = bitMatrix.getWidth();
    14. int height = bitMatrix.getHeight();
    15. BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    16. /**
    17. * 0x00ff0000,// Red
    18. * 0x0000ff00,// Green
    19. * 0x000000ff,// Blue
    20. * 0xff000000,// Alpha
    21. */
    22. int color = 0x0000ff00;
    23. if ("1".equals(type)){
    24. color = 0x00ff0000;
    25. }
    26. if ("2".equals(type)){
    27. color = 0x000000ff;
    28. }
    29. for (int x = 0; x < width; x++) {
    30. for (int y = 0; y < height; y++) {
    31. image.setRGB(x, y, bitMatrix.get(x, y) ? color : 0xFFFFFFFF);
    32. }
    33. }
    34. return image;
    35. }

    好了,到底了

  • 相关阅读:
    Java高级互联网架构师之路:排查当前JVM错误的步骤
    Azure DevOps (七) 通过SSH部署上传到服务器的应用
    Pthread 并发编程(三)——深入理解线程取消机制
    Python下划线中 _xx、__xx、__xx__ 的区别
    野火FPGA强化(1):串口
    Linux详解
    R语言遍历文件夹求取其中所有栅格文件的平均值
    程序员离婚协议
    首次面试凭借Java面试通关宝典,成功逆袭拿下美团offer
    Mycat分库分表
  • 原文地址:https://blog.csdn.net/weixin_38120374/article/details/126520288
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号