c# 解析二维码
zxing
安装nuget包【ZXing.Net】
/// <summary>
/// 图片转换
/// </summary>
/// <param name="image"></param>
/// <returns></returns>
LuminanceSource CreateLuminanceSourceFromMyImageType(Image image)
{
// 转换为Bitmap,以便可以访问像素数据
Bitmap bitmap = image as Bitmap ?? new Bitmap(image);
// 锁定位图的内存区域以获取原始图像数据
Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
BitmapData bitmapData = bitmap.LockBits(rect, ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
// 计算需要的字节数组大小(每像素3字节:R, G, B)
int bytes = bitmapData.Stride * bitmap.Height;
byte[] rgbRawBytes = new byte[bytes];
// 将原始图像数据复制到数组中
Marshal.Copy(bitmapData.Scan0, rgbRawBytes, 0, bytes);
// 解锁位图的内存区域
bitmap.UnlockBits(bitmapData);
// 释放Bitmap资源(如果它不是传入的原始Image)
if (bitmap != image)
{
bitmap.Dispose();
}
return new RGBLuminanceSource(rgbRawBytes, image.Width, image.Height);
}
//调用
var path = "C:\\Users\\ivesBao\\Desktop\\图片1.png";
//var pareResult = RecognizePic("C:\\Users\\ivesBao\\Desktop\\图片1.png");
//var img = new Bitmap();
Func<Image, LuminanceSource> createLuminanceSource = _image => CreateLuminanceSourceFromMyImageType(_image);
var reader = new BarcodeReader<Image>(createLuminanceSource);
var image = Image.FromFile(path);
var result = reader.Decode(image);
ThoughtWorks.QRCode
安装nuget包【ThoughtWorks.QRCodeCore】
var tempPicPath= "C:\\Users\\ivesBao\\Desktop\\图片1.png";
Image primaryImage = Image.FromFile(tempPicPath);
Bitmap pImg = (Bitmap)primaryImage;
//二维码识别
//questionId=38004b055724020001&roomId=230830102938240208&userId=230830103040240100
string decodedString = new QRCodeDecoder().decode(
new QRCodeBitmapImage(pImg), Encoding.UTF8);
[参考]
C#二维码生成解析
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com
分类:
.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下