C#生成二維碼

///<summary>

        ///生成二維碼

        ///</summary>

        ///<paramname="data">需要生成二維碼的字符創</param>

        ///<paramname="cardNum">生成二維碼的名稱</param>

        ///<paramname="file">二維碼的主文件夾</param>

        ///<paramname="dirPath">返回主文件夾的路徑</param>

        ///<paramname="secondFile">二維碼的字文件夾</param>

        publicvoidGetCardImg(string data, stringcardNum, string file, outstringdirPath, string secondFile)

        {

            QRCodeEncoder qrCodeEncoder = newQRCodeEncoder();

           qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;

           qrCodeEncoder.QRCodeScale = 2;

           qrCodeEncoder.QRCodeVersion = 6;

           qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;

           System.Drawing.Bitmap image =qrCodeEncoder.Encode(data);

           System.IO.MemoryStream MStream= new System.IO.MemoryStream();

           image.Save(MStream, System.Drawing.Imaging.ImageFormat.Png);

           Response.ClearContent();

           Response.ContentType = "image/Png";

           Response.BinaryWrite(MStream.ToArray());

            stringpath = WebSite.IMAGESERVER_LOCALPATH + file + "\\";

            stringsecondPath = path + secondFile + "\\";

            if(System.IO.Directory.Exists(secondPath) == false)

//如果不存在就創建file文件夾

            {

               System.IO.Directory.CreateDirectory(secondPath);

            }

           dirPath = path;

            stringfileName = "1" + cardNum + ".png";

            FileStream fs = new FileStream(secondPath + fileName, FileMode.CreateNew,FileAccess.ReadWrite);

            BinaryWriter bw = new BinaryWriter(fs, UTF8Encoding.UTF8);

            byte[]by = MStream.ToArray();

            for(inti = 0; i < MStream.ToArray().Length; i++)

               bw.Write(by[i]);

           fs.Close();

        }

發佈了38 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章