/// <summary>
        /// 预览
        /// </summary>
        public void EnQrCode()
        {
            // QrCode m_QrCode = new QrEncoder(drawingOptions.errorCorrectionLevel).Encode(drawingOptions.QrText);
            try
            {
                Task.Run <Bitmap>(() => {
                    QrCodeOptions options = GetQrCodeOptions();

                    if (ImageContentlist.Count > 0)
                    {
                        return(new DrawQrCode(options).QRCodeEncoder(ImageContentlist[0].Trim()));
                    }
                    else
                    {
                        return(new DrawQrCode(options).QRCodeEncoder());
                    }

                    //return DrawingQrCodeImg.DrawDarkModule();
                }).ContinueWith(result => {
                    if (result.IsCompleted)
                    {
                        if (result.Result != null)
                        {
                            ShowEmguImg(result.Result);
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                var controller = _dialogCoordinator.ShowMessageAsync(this, "提示", "程序EnQrCode运行出现异常" + ex.Message);
            }
        }
示例#2
0
        private void TCP_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                FileStream   fileStream = new FileStream(@"D:\Program Files\桌面\12112\QrCodeConfig.json", FileMode.Open);
                StreamReader sw         = new StreamReader(fileStream);
                var          jsonvar    = sw.ReadToEnd();
                sw.Close();
                sw.Dispose();
                fileStream.Close();
                fileStream.Dispose();
                QrCodeOptions qqq = JsonConvert.DeserializeObject <QrCodeOptions>(jsonvar);


                var json = JsonConvert.SerializeObject(qqq);


                string       tcp    = Queryservice.GetTcpUrl();
                HproseClient client = HproseClient.Create(tcp);

                var jsonvar22 = client.Invoke <string>("Expjson", new object[] { });

                //var text = @"{"qrCodeCustoms":[{"QrCodeTag":1,"QrCodeStyle":4,"ColorBrush":"0, 0, 0","QrCodeSize":0},{"QrCodeTag":2,"QrCodeStyle":1,"ColorBrush":"0, 0, 0","QrCodeSize":0},{"QrCodeTag":3,"QrCodeStyle":6,"ColorBrush":"0, 0, 0","QrCodeSize":0},{"QrCodeTag":4,"QrCodeStyle":1,"ColorBrush":"0, 0, 0","QrCodeSize":1}],"QrCodeTypeEnum":2,"LogoImgPath":"","IsTopLogoImg":false,"DpiInch":600,"QrCodeWidthMM":200,"QuietZoneModule":1,"ErrorCorrectionLevel":2,"QrText":"https://www.hao123.com","IsTypeSize":true,"IsQrCodeAutoSize":true,"QrCodePixelWidth":800}";
                byte[] bytevar = client.Invoke <byte[]>("Encoder", new object[] { json });
            }
            catch (Exception ex)
            {
                throw;
            }

            // byte[] bytevar = client.Invoke<byte[]>("Encoder", new object[] { jsonvar });
        }
示例#3
0
        public BitMatTag(BitMatrix bit, QrCodeOptions drawing)
        {
            bitMatrix     = bit;
            QrCodeOptions = drawing;

            SetBitmap();
        }
示例#4
0
        public byte[] Encoder(string jsonvar)
        {
            CodeOptions = JsonConvert.DeserializeObject <QrCodeOptions>(jsonvar);
            Task.Run(() => AddJson(CodeOptions)).Wait();
            Bitmap bitmap = new DrawQrCode(CodeOptions).QRCodeEncoder();

            // int byteCount = bitmap.GetBy
            return(Bitmap2Byte(bitmap));
        }
        public async Task InvokeAsync(HttpContext context, IConfiguration config, QrCodeOptions qrCodeOptions)
        {
            // Set default options
            ConfigureDefaultOptions(config);

            // Overwrite default with any user provided options
            var configuredOptions = ConfigureOptions(context);

            qrCodeOptions.ECCLevel        = configuredOptions.ECCLevel;
            qrCodeOptions.Dark            = configuredOptions.Dark;
            qrCodeOptions.Light           = configuredOptions.Light;
            qrCodeOptions.PixelsPerModule = configuredOptions.PixelsPerModule;
            qrCodeOptions.Quality         = configuredOptions.Quality;
            qrCodeOptions.Compression     = configuredOptions.Compression;
            qrCodeOptions.DrawQuietZones  = configuredOptions.DrawQuietZones;

            await next(context);
        }
示例#6
0
        private void AddJson(QrCodeOptions qrCodeOptions)
        {
            requestModels.Insert(0, new RequestModel()
            {
                DateTimes     = DateTime.Now.ToString(),
                JsonParameter = qrCodeOptions
            });
            var jsonvar = JsonConvert.SerializeObject(requestModels);

            if (!File.Exists(Jsonpath))
            {
                File.Create(Jsonpath);
            }
            FileStream   fileStream = new FileStream(Jsonpath, FileMode.Truncate);
            StreamWriter sw         = new StreamWriter(fileStream);

            sw.Write(jsonvar);
            sw.Flush();
            sw.Close();
            sw.Dispose();
            fileStream.Close();
            fileStream.Dispose();
        }
 public void ExpJsonCommand(string file)
 {
     using (StreamWriter streamWriter = new StreamWriter(file))
     {
         QrCodeOptions qrCodeOptions = new QrCodeOptions()
         {
             qrCodeCustoms        = QrCodeCustoms,
             QrCodeTypeEnum       = DrawingOptions.QrCodeTypeEnum,
             DpiInch              = DrawingOptions.DpiInch,
             ErrorCorrectionLevel = DrawingOptions.errorCorrectionLevel,
             IsTypeSizeMM         = DrawingOptions.IsTypeSizeMM,
             IsTypeSizePX         = DrawingOptions.IsTypeSizePX,
             IsTypeSizeAuto       = DrawingOptions.IsTypeSizeAuto,
             QrCodeWidthMM        = DrawingOptions.QrCodeWidthMM,
             LogoImgPath          = DrawingOptions.LogoImgPath,
             IsTopLogoImg         = DrawingOptions.IsTopLogoImg,
             QrText           = DrawingOptions.QrText,
             QuietZoneModule  = DrawingOptions.QuietZoneModule,
             QrCodePixelWidth = DrawingOptions.QrCodePixelWidth,
         };
         var jsonvar = Newtonsoft.Json.JsonConvert.SerializeObject(qrCodeOptions);
         streamWriter.WriteLineAsync(jsonvar);
     }
 }
示例#8
0
 public QrCodeDataService(
     QrCodeOptions options)
 {
     generator    = new QRCodeGenerator();
     this.options = options;
 }
示例#9
0
 public QrCodeRenderingService(
     QrCodeOptions options)
 {
     this.options = options;
 }
        private Bitmap GetQRCodeEncoder(string Content)
        {
            QrCodeOptions QrCodeOptions = GetQrCodeOptions();

            return(new DrawQrCode(QrCodeOptions).QRCodeEncoder(Content));
        }
示例#11
0
 public DrawQrCode(QrCodeOptions codeOptions)
 {
     this.QrCodeOptions = codeOptions;
 }