예제 #1
0
        public Bitmap EncodeToImage(string str, QRCodeSaveSize saveSize)
        {
            QrCode           qrCode = _qrEncoder.Encode(str);
            GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(Convert.ToInt32(saveSize), QuietZoneModules.Two), Brushes.Black, Brushes.White);

            MemoryStream ms = new MemoryStream();

            render.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
            Bitmap bitmap = new Bitmap(ms);

            return(bitmap);
        }
예제 #2
0
        public void EncodeToPng(string str, string picpath, QRCodeSaveSize saveSize)
        {
            QrCode qrCode = _qrEncoder.Encode(str);
            //保存成png文件
            GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(Convert.ToInt32(saveSize), QuietZoneModules.Two), Brushes.Black, Brushes.White);

            using (FileStream stream = new FileStream(picpath, FileMode.OpenOrCreate)) //OpenOrCreate打开新文件默认就是truncate的了,如果再显式指定Truncate反而会报错当文件不存在的时候
            {
                render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);
            }

            //Bitmap bitmap = new Bitmap(165, 165);
            //Graphics g = Graphics.FromImage(bitmap);
            //render.Draw(g, qrCode.Matrix);
            //bitmap.Save("a.bmp");
        }