Exemplo n.º 1
0
        public override CodeData            CreateCodeData(Payload xPayload, CodeOptions xOptions)
        {
            Code128CodeOptions xOpt = xOptions as Code128CodeOptions;

            if (xOpt == null)
            {
                xOpt = new Code128CodeOptions();
            }
            //
            return(CreateCode(xPayload.ToString(), xOpt.m_iHeight));
        }
Exemplo n.º 2
0
        public override CodeData         CreateCodeData(Payload xPayload, CodeOptions xOptions)
        {
            Pdf417CodeOptions xOpt = xOptions as Pdf417CodeOptions;

            //
            if (xOpt == null)
            {
                xOpt = new Pdf417CodeOptions();
            }

            //
            int          width     = 1024;
            int          height    = 1024;
            PDF417Writer _bcWriter = new PDF417Writer();
            Dictionary <EncodeHintType, object> Hints = new Dictionary <EncodeHintType, object>();

            Hints[EncodeHintType.WIDTH]  = width;
            Hints[EncodeHintType.HEIGHT] = height;

            Hints[EncodeHintType.MARGIN]            = 0;
            Hints[EncodeHintType.PDF417_COMPACTION] = (ZXing.PDF417.Internal.Compaction)(int) xOpt.m_eCompactionMode;
            Hints[EncodeHintType.ERROR_CORRECTION]  = (ZXing.PDF417.Internal.PDF417ErrorCorrectionLevel)(xOpt.ErrorCorrm_iectionLevel);
            Hints[EncodeHintType.PDF417_DIMENSIONS] = new ZXing.PDF417.Internal.Dimensions(xOpt.m_iDataColumns, xOpt.m_iDataColumns, xOpt.m_iDataRows, 100);

            if (xOpt.m_bMacroPDF)
            {
                Hints[EncodeHintType.PDF417_MACROENABLE]       = true;
                Hints[EncodeHintType.PDF417_MACROFileID]       = xOpt.m_sMacroPDFFileID;
                Hints[EncodeHintType.PDF417_MACROSegmentIndex] = xOpt.m_iMacroPDFSegmentIdx;
                Hints[EncodeHintType.PDF417_MACROSegmentCount] = xOpt.m_iMacroPDFSegmentCount;
            }

            Hints[EncodeHintType.PDF417_Y2XRatio] = xOpt.m_fY2XRatio;

            BitMatrix xData = _bcWriter.encode(xPayload.ToString(), width, height, Hints);
            //
            CodeData xResData = new CodeData(xData.Width, xData.Height);

            //
            for (int y = 0; y < xData.Height; y++)
            {
                for (int x = 0; x < xData.Width; x++)
                {
                    xResData.ModuleMatrix[y][x] = xData[x, y];
                }
            }
            //
            return(xResData);
        }
Exemplo n.º 3
0
        public override CodeData            CreateCodeData(Payload xPayload, CodeOptions xOptions)
        {
            QREncoder xQREncoder = new QREncoder();
            //
            CodeData xData = xQREncoder.CreateCodeData(xPayload, xOptions);

            // make cross
            int iMidX = xData.ModuleMatrix.Count / 2 - 4;
            int iMidY = xData.ModuleMatrix[0].Count / 2 - 4;

            for (int y = 0; y < 9; y++)
            {
                for (int x = 0; x < 9; x++)
                {
                    xData.ModuleMatrix[iMidY + y][iMidX + x] = abCrossData[x, y] == 1;
                }
            }
            //
            return(xData);
        }
Exemplo n.º 4
0
        public override CodeData         CreateCodeData(Payload xPayload, CodeOptions xOptions)
        {
            AztecCodeOptions xOpt = xOptions as AztecCodeOptions;

            //
            if (xOpt == null)
            {
                xOpt = new AztecCodeOptions();
            }

            //
            int         width     = 1024;
            int         height    = 1024;
            AztecWriter _bcWriter = new AztecWriter();
            Dictionary <EncodeHintType, object> Hints = new Dictionary <EncodeHintType, object>();

            Hints[EncodeHintType.WIDTH]  = width;
            Hints[EncodeHintType.HEIGHT] = height;

            //Hints[EncodeHintType.PDF417_COMPACTION]   = (ZXing.PDF417.Internal.Compaction)(int)xOpt.m_eCompactionMode;
            //Hints[EncodeHintType.ERROR_CORRECTION]    = (ZXing.PDF417.Internal.PDF417ErrorCorrectionLevel)(xOpt.ErrorCorrm_iectionLevel);
            //Hints[EncodeHintType.PDF417_DIMENSIONS]   = new ZXing.PDF417.Internal.Dimensions(xOpt.m_iDataColumns,xOpt.m_iDataColumns,xOpt.m_iDataRows,100);

            BitMatrix xData = _bcWriter.encode(xPayload.ToString(), width, height, Hints);
            //
            CodeData xResData = new CodeData(xData.Width, xData.Height);

            //
            for (int y = 0; y < xData.Height; y++)
            {
                for (int x = 0; x < xData.Width; x++)
                {
                    xResData.ModuleMatrix[y][x] = xData[x, y];
                }
            }
            //
            return(xResData);
        }
Exemplo n.º 5
0
 public virtual CodeData             CreateCodeData(Payload xPayload, CodeOptions xOptions)
 {
     return(null);
 }
Exemplo n.º 6
0
        static public CodeEncoder           CreateCode(CodeType eType, Payload xPayload, CodeOptions xOptions, CodeRenderer xRenderer = null)
        {
            CodeEncoder xGenerator = null;

            //
            switch (eType)
            {
            case CodeType.QR: xGenerator = new QREncoder();       break;

            case CodeType.SwissQR: xGenerator = new SwissQREncoder();  break;

            case CodeType.Code128: xGenerator = new Code128Encoder();  break;

            case CodeType.Pdf417: xGenerator = new Pdf417Encoder();   break;

            case CodeType.Aztec: xGenerator = new AztecEncoder();    break;
            }
            //
            xGenerator.m_xData = xGenerator.CreateCodeData(xPayload, xOptions);
            //
            if (xRenderer != null)
            {
                xGenerator.m_xRenderer = xRenderer;
                //
                xRenderer.Render(xGenerator.m_xData);
            }
            //
            return(xGenerator);
        }