使用ZXing.net读取一个图片中的多个二维码

使用ThoughtWorks.QRCode识别图片中的二维码  如果一张图片中有多个二维码或者没有二维码 读取会出错 会进入catch

使用ZXing读取二维码会把图片中的所有二维码的内容读取出来

 static void Main(string[] args)
        {
            string url = @"E:\项目\支付\文档\收款码\未处理\支付宝\123454646.jpg";
           var result=GetList(url);
            foreach (var item in result)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }
        public static List GetList(string fileUrl) {
            using (FileStream fs = new FileStream(fileUrl, FileMode.Open))
            {
                QRCodeMultiReader qc = new QRCodeMultiReader();
                Image image = Image.FromStream(fs);
                Bitmap bitmap = new Bitmap(image);
                LuminanceSource source = new BitmapLuminanceSource(bitmap);
                BinaryBitmap binarybitmap = new BinaryBitmap(new HybridBinarizer(source));
                IDictionary hints = new Dictionary();
                hints.Add(DecodeHintType.CHARACTER_SET, "UTF-8");
                hints.Add(DecodeHintType.TRY_HARDER, "3");
                Result[] r = qc.decodeMultiple(binarybitmap, hints);
                return r==null?new List():r.Select(a => a.Text).ToList();
            }
        }

 

你可能感兴趣的:(QRCode)