Example #1
0
        public Bitmap DrawingBitmap()
        {
            DrawingModule();
            //  Graphics graphics = Graphics.FromImage(Bitmap);

            int R = ModuleSize / 4;

            for (int i = 0; i < ArrarContent.Count; i++)
            {
                // new Pen(Brushes.Red, 1)
                if (ArrarContent[i].BoolVar)
                {
                    Point point = new Point();
                    point.X = ArrarContent[i].Point.X * ModuleSize + R + QuietZoneModuleSize;
                    point.Y = ArrarContent[i].Point.Y * ModuleSize + R + QuietZoneModuleSize;

                    QrCodeGraphics.FillEllipse(Brushes.Black, new Rectangle(point.X, point.Y, ModuleSize / 2, ModuleSize / 2));

                    //QrCodeGraphics.FillRectangle(Brushes.Black, new Rectangle(point.X, point.Y, ModuleSize / 2, ModuleSize / 2));
                }
                else
                {
                    Point point = new Point()
                    {
                        X = ArrarContent[i].Point.X * ModuleSize + R + QuietZoneModuleSize,
                        Y = ArrarContent[i].Point.Y * ModuleSize + R + QuietZoneModuleSize
                    };
                    int b   = Bitmap.GetPixel(point.X, point.Y).B;
                    int g   = Bitmap.GetPixel(point.X, point.Y).G;
                    int r   = Bitmap.GetPixel(point.X, point.Y).R;
                    int rgb = (b + g + r) / 3;
                    if (rgb < 128)
                    {
                        QrCodeGraphics.FillEllipse(Brushes.White, new Rectangle(point.X, point.Y, ModuleSize / 2, ModuleSize / 2));

                        // QrCodeGraphics.FillRectangle(Brushes.White, new Rectangle(point.X, point.Y, ModuleSize / 2, ModuleSize / 2));
                    }
                }
            }
            QrCodeGraphics.Flush();
            QrCodeGraphics.Dispose();


            return(GetPixelWidth());
        }
Example #2
0
        private void SetBitmap()
        {
            int bitmapsize = 0;

            if (bitMatrix == null)
            {
                return;
            }
            if (QrCodeOptions.IsTypeSize)
            {
                PixelWidth = QrCodeOptions.QrCodePixelWidth;
            }
            else
            {
                //换算成实际像素单位
                PixelWidth = (int)((1 / 25.4 * QrCodeOptions.QrCodeWidthMM) * QrCodeOptions.DpiInch);
            }
            if (QrCodeOptions.IsQrCodeAutoSize)
            {
                bitmapsize = bitMatrix.Width * ModuleSize + ModuleSize * ((int)QrCodeOptions.QuietZoneModule) * 2;
                PixelWidth = bitmapsize;
            }
            else
            {
                ModuleSize = (int)Math.Round(PixelWidth / (bitMatrix.Width + (double)QrCodeOptions.QuietZoneModule * 2), 0);
                bitmapsize = bitMatrix.Width * ModuleSize + ModuleSize * ((int)QrCodeOptions.QuietZoneModule) * 2;
            }
            //ModuleSize = (int)Math.Round(PixelWidth / (bitMatrix.Width + (double)QrCodeOptions.QuietZoneModule * 2), 0);
            //int bitmapsize = bitMatrix.Width * ModuleSize + ModuleSize * ((int)QrCodeOptions.QuietZoneModule) * 2;

            this.Bitmap = new Bitmap(bitmapsize, bitmapsize);
            this.Bitmap.SetResolution(QrCodeOptions.DpiInch, QrCodeOptions.DpiInch);

            QrCodeGraphics = Graphics.FromImage(this.Bitmap);
            QrCodeGraphics.Clear(System.Drawing.Color.White);

            AddBitmapLog(QrCodeOptions.GetLogBitmap());

            GetBitMattag();


            //QrCodeGraphics.Dispose();
        }
Example #3
0
        private void DrawingModule()
        {
            for (int i = 0; i < Arraytagtopxend.Count; i++)
            {
                if (Arraytagtopxend[i].BoolVar)
                {
                    Point point = new Point()
                    {
                        X = Arraytagtopx[i].Point.X * ModuleSize + QuietZoneModuleSize,
                        Y = Arraytagtopx[i].Point.Y * ModuleSize + QuietZoneModuleSize
                    };
                    Point pointd = new Point()
                    {
                        X = Arraytagtopxend[i].Point.X * ModuleSize + QuietZoneModuleSize,
                        Y = Arraytagtopxend[i].Point.Y * ModuleSize + QuietZoneModuleSize
                    };
                    Point pointy = new Point()
                    {
                        X = Arraytagtopy[i].Point.X * ModuleSize + QuietZoneModuleSize,
                        Y = Arraytagtopy[i].Point.Y * ModuleSize + QuietZoneModuleSize
                    };

                    QrCodeGraphics.FillRectangle(Brushes.Black, new Rectangle(point.X, point.Y, ModuleSize, ModuleSize));

                    QrCodeGraphics.FillRectangle(Brushes.Black, new Rectangle(pointd.X, pointd.Y, ModuleSize, ModuleSize));

                    QrCodeGraphics.FillRectangle(Brushes.Black, new Rectangle(pointy.X, pointy.Y, ModuleSize, ModuleSize));
                }
            }
            QrCodeGraphics.Flush();


            //   Bitmap.Save(@"D:\Program Files\桌面\12112\DrawingModule.jpg");
            // Bitmap.Save(@"C:\Users\q4528\Desktop\1111111\DrawingModule.jpg");
            // QrCodeGraphics.Dispose();
        }