亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET生成二維碼的方法總結

2024-07-10 13:30:35
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ASP.NET生成二維碼的方法,結合實例形式總結分析了常用的幾種二維碼生成技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例總結了ASP.NET生成二維碼的方法。分享給大家供大家參考,具體如下:

分享一例c#生成二維碼的代碼,直接引用ThoughtWorks.QRCode.dll 類生成二維碼,有需要的朋友參考下。

方法1.直接引用ThoughtWorks.QRCode.dll 類,生成二維碼。

代碼示例:

ThoughtWorks.QRCode.Codec.QRCodeEncoder encoder = new QRCodeEncoder();encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//編碼方法(注意:BYTE能支持中文,ALPHA_NUMERIC掃描出來的都是數字)encoder.QRCodeScale = 4;//大小encoder.QRCodeVersion = 0;//版本(注意:設置為0主要是防止編碼的字符串太長時發生錯誤)encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;String qrdata = "二維碼信息";System.Drawing.Bitmap bp = encoder.Encode(qrdata.ToString(), Encoding.GetEncoding("GB2312"));Image image = bp;Object oMissing = System.Reflection.Missing.Value;pictureBox1.Image = bp;

保存二維碼圖片:

代碼示例:

SaveFileDialog sf = new SaveFileDialog();sf.Title = "選擇保存文件位置";sf.Filter = "保存圖片(*.jpg) |*.jpg|所有文件(*.*) |*.*";//設置默認文件類型顯示順序sf.FilterIndex = 1;//保存對話框是否記憶上次打開的目錄sf.RestoreDirectory = true;if (sf.ShowDialog() == DialogResult.OK){  Image im = this.pictureBox1.Image;  //獲得文件路徑  string localFilePath = sf.FileName.ToString();  if (sf.FileName != "")  {    string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("//") + 1);//獲取文件名,不帶路徑    // newFileName = fileNameExt+DateTime.Now.ToString("yyyyMMdd") ;//給文件名后加上時間    string FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf(".")); //獲取文件路徑,帶文件名,不帶后綴    string fn = sf.FileName;    pictureBox1.Image.Save(FilePath +"-"+ DateTime.Now.ToString("yyyyMMdd") + ".jpg");  }}//解析二維碼信息// QRCodeDecoder decoder = new QRCodeDecoder();// String decodedString = decoder.decode(new QRCodeBitmapImage(new Bitmap(pictureBox1.Image)));//this.label3.Text = decodedString;

方法2.引用ZXing類庫。

ZXing是一個開源Java類庫用于解析多種格式的1D/2D條形碼。目標是能夠對QR編碼、Data Matrix、UPC的1D條形碼進行解碼。于此同時,它同樣提供 cpp,ActionScript,android,iPhone,rim,j2me,j2se,jruby,C#等方式的類庫。zxing類庫的作用主 要是解碼,是目前開源類庫中解碼能力比較強的(商業的另說,不過對于動輒成千上萬的類庫授權費用,的確很值)。

到谷歌code下載相應的代碼

1.下載zxing最新的包

到zxing的主頁: http://code.google.com/p/zxing/

找到其中的CSharp文件夾,在vs中打開并編譯,將obj下debug中的zxing.dll復制并粘帖到你的項目中的bin文件目錄下,
右擊添加項目引用。將zxing.dll引用到項目中,就可以在需要的地方使用了。

源代碼中有兩處UTF-8的問題,會導致中文出現亂碼(編譯.dll之前修改)

其一:com.google.zxing.qrcode.encoder.encoder類中的

internal const System.String DEFAULT_BYTE_MODE_ENCODING = "ISO-8859-1";

此處,將ISO-8859-1改為UTF-8

其二:com.google.zxing.qrcode.decoder.DecodedBitStreamParser類的成員

private const System.String UTF8 = "UTF8";

應將UTF8改為UTF-8

代碼示例:

using com.google.zxing.qrcode;using com.google.zxing;using com.google.zxing.common;using ByteMatrix = com.google.zxing.common.ByteMatrix;using EAN13Writer = com.google.zxing.oned.EAN13Writer;using EAN8Writer = com.google.zxing.oned.EAN8Writer;using MultiFormatWriter = com.google.zxing.MultiFormatWriter;

方法:

string content = "二維碼信息";ByteMatrix byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 300, 300);Bitmap bitmap = toBitmap(byteMatrix);pictureBox1.Image = bitmap;SaveFileDialog sFD = new SaveFileDialog();sFD.Filter = "保存圖片(*.png) |*.png|所有文件(*.*) |*.*";sFD.DefaultExt = "*.png|*.png";sFD.AddExtension = true;if (sFD.ShowDialog() == DialogResult.OK){if (sFD.FileName != ""){  writeToFile(byteMatrix, System.Drawing.Imaging.ImageFormat.Png, sFD.FileName);}}

解析二維碼:

代碼示例:

if (this.openFileDialog1.ShowDialog() != DialogResult.OK){return;}Image img = Image.FromFile(this.openFileDialog1.FileName);Bitmap bmap;try{bmap = new Bitmap(img);}catch (System.IO.IOException ioe){MessageBox.Show(ioe.ToString());return;}if (bmap == null){MessageBox.Show("Could not decode image");return;}LuminanceSource source = new RGBLuminanceSource(bmap, bmap.Width, bmap.Height);com.google.zxing.BinaryBitmap bitmap1 = new com.google.zxing.BinaryBitmap(new HybridBinarizer(source));Result result;try{result = new MultiFormatReader().decode(bitmap1);}catch (ReaderException re){MessageBox.Show(re.ToString());return;}MessageBox.Show(result.Text);public static void writeToFile(ByteMatrix matrix, System.Drawing.Imaging.ImageFormat format, string file){    Bitmap bmap = toBitmap(matrix);    bmap.Save(file, format);}public static Bitmap toBitmap(ByteMatrix matrix){    int width = matrix.Width;    int height = matrix.Height;    Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);    for (int x = 0; x < width; x++){for (int y = 0; y < height; y++){  bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));}}return bmap;}
 


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美三级免费观看| 伊人久久久久久久久久| 欧美怡红院视频一区二区三区| 国产视频在线一区二区| 亚洲精品久久久久中文字幕欢迎你| 欧美性生交大片免网| 5566日本婷婷色中文字幕97| 欧美丰满片xxx777| 亚洲va欧美va国产综合剧情| 一区二区三区四区精品| 宅男66日本亚洲欧美视频| 日韩亚洲成人av在线| 亚洲精品一区二区网址| 亚洲欧美在线免费| 久久免费精品视频| 精品伊人久久97| 亚洲人a成www在线影院| 揄拍成人国产精品视频| 久久久精品在线| 在线亚洲男人天堂| www.日韩.com| 国产狼人综合免费视频| 亚洲图片欧美日产| 亚洲欧美国产精品久久久久久久| 欧美激情网友自拍| 91久热免费在线视频| 欧美怡红院视频一区二区三区| 欧美黄色片在线观看| 亚洲女人天堂网| 久久久噜久噜久久综合| 亚洲一区二区三区777| 欧美理论在线观看| 亚洲精品videossex少妇| 一道本无吗dⅴd在线播放一区| 国产成人综合亚洲| 国产精品视频xxx| 狠狠久久五月精品中文字幕| 91牛牛免费视频| 欧美电影在线观看高清| 久久久久久高潮国产精品视| 国产日韩欧美在线视频观看| 欧美做受高潮1| 色综合久久精品亚洲国产| 精品国产一区二区三区四区在线观看| 亚洲精品乱码久久久久久金桔影视| 国产亚洲一区二区精品| 国产精品va在线播放| 成人乱色短篇合集| 亚洲一级黄色片| 91视频免费网站| 福利一区福利二区微拍刺激| 国产极品精品在线观看| 欧美视频一区二区三区…| 成人妇女免费播放久久久| 欧美高跟鞋交xxxxxhd| 欧美最顶级的aⅴ艳星| 久久视频中文字幕| 亚洲欧美制服丝袜| 成年人精品视频| 亚洲剧情一区二区| 亚洲精品女av网站| 中文字幕精品久久久久| 最近2019中文字幕第三页视频| 性色av香蕉一区二区| 国产视频欧美视频| 亚洲www永久成人夜色| 欧美国产视频一区二区| 91在线视频精品| 中文字幕在线看视频国产欧美| 色偷偷9999www| 亚洲精品有码在线| 亚洲自拍偷拍网址| 国产精品欧美激情| 亚洲黄色av女优在线观看| 国产精品久久久久久久久久久久久久| 精品在线观看国产| 亚洲精品一二区| 国产精品wwwwww| 国产脚交av在线一区二区| 欧美在线视频一二三| 国产精品一区av| www.亚洲一二| 欧美精品免费播放| 日韩精品视频免费专区在线播放| 欧美一区二区三区精品电影| 日本成人黄色片| 欧美精品中文字幕一区| 亚洲国产精品大全| 欧美精品videosex极品1| 国产mv久久久| 国产精品日韩久久久久| 国产欧美日韩精品专区| 国产成人精品视频在线观看| 成人精品视频久久久久| 亚洲一区二区日本| 色诱女教师一区二区三区| 亚洲欧美视频在线| 国产精品久久久一区| 色播久久人人爽人人爽人人片视av| 欧美性猛交视频| 韩国视频理论视频久久| 黄网站色欧美视频| 色婷婷av一区二区三区久久| 成人激情视频在线| 精品久久久国产| 欧美日韩亚洲网| 午夜精品一区二区三区在线视频| 91精品国产91久久久久久最新| 久久精品国产一区二区电影| 亚洲成人网在线观看| 国产视频精品xxxx| 91chinesevideo永久地址| 欧美性猛交99久久久久99按摩| 韩国三级日本三级少妇99| 久久久久久这里只有精品| 国产精品精品视频一区二区三区| www.xxxx精品| 97婷婷涩涩精品一区| 亚洲国产天堂久久综合网| 精品视频中文字幕| 亚洲综合一区二区不卡| 中文.日本.精品| 国产精品网红直播| 91精品国产综合久久香蕉的用户体验| 欧洲精品在线视频| 欧美亚洲一区在线| 青青草原成人在线视频| 欧美午夜宅男影院在线观看| 日韩精品视频中文在线观看| 欧美性xxxxxx| 成人中文字幕在线观看| 免费91麻豆精品国产自产在线观看| 亚洲r级在线观看| 激情久久av一区av二区av三区| 综合av色偷偷网| 久久99久国产精品黄毛片入口| 国产精品扒开腿做爽爽爽视频| 国产精品九九久久久久久久| 97婷婷大伊香蕉精品视频| 亚洲女人天堂色在线7777| 亚洲电影第1页| 精品国产一区二区三区四区在线观看| 久久99久久久久久久噜噜| 一个人看的www欧美| 欧美大荫蒂xxx| 不卡av日日日| 97久久国产精品| 国产99久久精品一区二区 夜夜躁日日躁| 久久影院免费观看| 日韩av大片在线| 国产日韩欧美日韩| 91在线视频九色| 国产精品网红福利| 色综合五月天导航| 国产视频自拍一区| 久久久久久综合网天天| 亚洲成在人线av| 亚洲乱码国产乱码精品精| 日韩国产在线播放| 色妞色视频一区二区三区四区| 久久久久久久久久国产精品| 精品国产一区二区三区久久狼黑人| 亚洲日本中文字幕| 日韩亚洲欧美中文在线|