读取二维码

maven工程,先引入依赖。

在pom.xml中添加下面的语句

<dependency>
    <groupId>QRCode</groupId>
    <artifactId>QRCode</artifactId>
    <version>3.0</version>
</dependency>

测试demo



    package Test;  
      
    import java.awt.image.BufferedImage;  
    import java.io.File;  
    import java.io.IOException;  
      
    import javax.imageio.ImageIO;  
      
    import jp.sourceforge.qrcode.QRCodeDecoder;  
    import jp.sourceforge.qrcode.data.QRCodeImage;  
    import jp.sourceforge.qrcode.exception.DecodingFailedException;  
      
    public class ErWeiMaJieMa {  
        /**  
         * 解码二维码  
         * @param imgPath  
         * @return String  
         */    
        public String decoderQRCode(String imgPath) {    
        
            // QRCode 二维码图片的文件    
            File imageFile = new File(imgPath);    
        
            BufferedImage bufImg = null;    
            String decodedData = null;    
            try {    
                bufImg = ImageIO.read(imageFile);    
        
                QRCodeDecoder decoder = new QRCodeDecoder();    
                decodedData = new String(decoder.decode(new J2SEImage(bufImg)));    
        
                // try {    
                // System.out.println(new String(decodedData.getBytes("gb2312"),    
                // "gb2312"));    
                // } catch (Exception e) {    
                // // TODO: handle exception    
                // }    
            } catch (IOException e) {    
                System.out.println("Error: " + e.getMessage());    
                e.printStackTrace();    
            } catch (DecodingFailedException dfe) {    
                System.out.println("Error: " + dfe.getMessage());    
                dfe.printStackTrace();    
            }    
            return decodedData;    
        }    
        
        /**  
         * @param args the command line arguments  
         */    
        public static void main(String[] args) {    
            ErWeiMaJieMa handler = new ErWeiMaJieMa();    
            String imgPath = "D:/EWM/ewm.png";    
            String decoderContent = handler.decoderQRCode(imgPath);    
            System.out.println("解析结果如下:");    
            System.out.println(decoderContent);    
            System.out.println("========decoder success!!!");    
        }    
        
        class J2SEImage implements QRCodeImage {    
            BufferedImage bufImg;    
        
            public J2SEImage(BufferedImage bufImg) {    
                this.bufImg = bufImg;    
            }    
        
            public int getWidth() {    
                return bufImg.getWidth();    
            }    
        
            public int getHeight() {    
                return bufImg.getHeight();    
            }    
        
            public int getPixel(int x, int y) {    
                return bufImg.getRGB(x, y);    
            }    
        
        }    
    }  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi XE 是一个功能强大的集成开发环境,可以用于开发各种应用程序。要在 Delphi XE 中读取二维码,可以使用第三方库或组件来实现。 一种常用的库是ZBar编码器,它提供了二维码和其他一维码的解码功能。在 Delphi XE 中使用 ZBar 编码器,可以通过在项目中引入 ZBar 的动态链接库来实现。 首先,下载并安装 ZBar 编码器库。然后,在 Delphi XE 项目中添加 ZBar 的动态链接库。可以通过将动态链接库添加到项目文件列表或使用 Delphi XE 中的导入库功能来实现。 接下来,在 Delphi XE 的代码中,添加一个用于调用 ZBar 的函数或方法。可以使用 ZBar 的函数来初始化编码器和图像扫描器,然后使用图像扫描器来扫描二维码并获取结果。 在扫描二维码的过程中,可以将摄像头或图像文件作为输入。通过处理扫描结果,可以获取二维码中的信息。 最后,将获取的二维码信息在 Delphi XE 中显示或进行其他处理。可以将信息显示在使用 Delphi XE 提供的控件中,也可以将信息保存到文件中,或将其用于其他用途。 需要注意的是,使用第三方库或组件进行二维码扫描时,需要熟悉库的文档和使用方法。例如,ZBar 编码器提供了详细的文档和示例代码,可以用于参考和学习。 总之,通过使用第三方库或组件,如 ZBar 编码器,可以在 Delphi XE 中方便地读取二维码,并获取其中的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值