首页 > 编程语言 >Java 制作二维码

Java 制作二维码

时间:2024-10-25 09:31:26浏览次数:1  
标签:Java String int image lines BufferedImage 二维码 制作

最近刷题遇到了java制作二维码的功能

pom文件

    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.4.1</version>
    </dependency>
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>javase</artifactId>
        <version>3.4.1</version>
    </dependency>

Java代码

  public static void main(String[] args) {
        String binaryString = "111111101010001111111\n" +
                "100000100111001000001\n" +
                "101110100010001011101\n" +
                "101110100111101011101\n" +
                "101110100100101011101\n" +
                "100000100011001000001\n" +
                "111111101010101111111\n" +
                "000000001001000000000\n" +
                "110110100111101000001\n" +
                "010001010111011011110\n" +
                "100100101010000000010\n" +
                "100101001110101100000\n" +
                "111101101010111010111\n" +
                "000000001111001111111\n" +
                "111111100000111001000\n" +
                "100000100001001111100\n" +
                "101110101010111000100\n" +
                "101110101110010110110\n" +
                "101110100111010100011\n" +
                "100000101010000010100\n" +
                "111111101101111010100";

        // 去除换行符并分割成二维数组
        String[] lines = binaryString.split("\n");
        int width = lines[0].length();
        int height = lines.length;

        // 创建BufferedImage
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

        // 填充图像
        for (int y = 0; y < height; y++) {
            for (int x = 0; x < width; x++) {
                char c = lines[y].charAt(x);
                if (c == '1') {
                    image.setRGB(x, y, Color.BLACK.getRGB());
                } else if (c == '0') {
                    image.setRGB(x, y, Color.WHITE.getRGB());
                }
            }
        }

        // 保存图像
        try {
            File output = new File("C:\\Users\\Administrator\\Desktop\\QRCode.png");
            ImageIO.write(image, "png", output);
            System.out.println("图像已生成并保存为 binary_image.png");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

标签:Java,String,int,image,lines,BufferedImage,二维码,制作
From: https://www.cnblogs.com/Linzj5950/p/18501806

相关文章

  • springboot巡更系统--10192(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程
    摘 要目前,在日常生活中随处可见社区巡更人员对特定的区域进行定期或者不定期的安全巡查管理。包括勤前训示、必到点签到、巡更路线等,各项勤务工作均由巡更员本人在执勤日志本中手工填写,且工作点分散,不利于统一监管,存在信息化手段不足,勤务信息获取、输入复杂,监管信息不能实时......
  • java基础day04:方法(函数),练习
    一、Java中的方法(函数)1.定义方法也叫代码块,用于实现代码的封装,方便调用。主要目的是实现代码复用。2、方法和函数关系方法和函数的关系定义方法(面向对象)在类中定义的成员。也可以叫成员方法,属于类创建出来的对象的功能函数(面向过程)3、定义方法        ......
  • 【最新原创毕设】基于JSP+SSM的民宿预约平台+79197(免费领源码)可做计算机毕业设计JAVA
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状2系统分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统流程分析2.2.1添加信息流程2.2.2修改信息流程2.2.3删除信息流程2.3 系统功能分析2.3.1功能性分析2.3......
  • 第1关:练习-Java集合类之List的LinkedList之字符串反转
    任务要求参考答案重置记录评论12任务描述编程要求测试说明任务描述本关任务:使用LinkedList的addFirst方法实现字符串反转输出。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在Begin-End间编写程序代码,实现字符串反转输出,具体要求如下:接收给......
  • java练习
    代码importjava.util.ArrayList;importjava.util.Collection;importjava.util.Collections;importjava.util.Scanner;publicclassT08{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intn=in.nextInt()......
  • 每日OJ题_牛客_DP10最大子矩阵_二维前缀和_C++_Java
    目录牛客_DP10最大子矩阵_二维前缀和题目解析C++代码Java代码牛客_DP10最大子矩阵_二维前缀和最大子矩阵_牛客题霸_牛客网(nowcoder.com)描述:        已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1*1)子矩......
  • Java锁机制
    synctronized是互斥锁吗?ChatGPTChatGPT是的,synchronized是一种互斥锁机制。在Java中,synchronized关键字用于实现同步机制,确保在多线程环境下对共享资源的访问是安全的。当一个线程进入**synchronized代码块或方法时,它会尝试获取锁。如果锁已经被其他线程持有,那么当前线程将......
  • Java 中回调机制是什么原理
    Java中回调机制的原理:1.回调机制概述;2.接口作为回调的关键;3.事件监听器模式;4.注册和解注册回调对象;5.回调与多线程;6.内置回调机制的例子。回调机制是一种常见的编程范式,特别是在事件驱动编程中。在Java中,回调机制允许一个对象(回调对象)注册在另一个对象(调用对象)上,并在特定......
  • jspm基于Java web的在线餐饮管理系统的设计和实现(11862)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发......
  • Java类和对象详解(上)
    目录前言 一.类和对象的定义1.什么是一个类?2.类的定义格式 3.一个类中应该有什么 4.什么是对象二.类的实例化1.什么是实例化?2.实例化在内存中的使用情况: 三.构造方法(构造器)1.什么是构造方法2. 默认初始化3.this关键字3.1为什么要有this关键字3.2什么是thi......