Esempio n. 1
0
 public static Element CreateElement(CodeRenderer.MarkupStructure.Tag tag, Element ParentElement)
 {
     Element element;
     switch (tag.name)
     {
         case "br":
             element = new NewLine(ParentElement);
             break;
         case "img":
             element = new Image(tag.Attributes,ParentElement);
             break;
         case "body":
             element = new Body(tag.Attributes,ParentElement);
             break;
         case "div":
             element = new Section(tag.Attributes,ParentElement);
             break;
         case "p":
             element = new Paragraph(tag.Attributes,ParentElement);
             break;
         default:
             throw new NotImplementedException();
             break;
     }
     return element;
 }
Esempio n. 2
0
        protected static Element RenderTag(CodeRenderer.MarkupStructure.Tag tag,Element ParentElement)
        {
            Element element = Element.CreateElement(tag,ParentElement);
            bool isPrevText = false;
            switch (element.type)
            {
                case ElementType.DIVISION:

                    Section division = (Section)element;
                    foreach(CodeRenderer.MarkupStructure.Token token in tag.Content)
                        if (token is CodeRenderer.MarkupStructure.Text)
                        //if (token.type == CodeRenderer.MarkupStructure.TokenType.TEXT)
                        {
                            if (isPrevText)
                                division.Add(new Text(" ",division));
                            division.Add(new Text((CodeRenderer.MarkupStructure.Text)token,division));
                            isPrevText = true;
                        }
                        else
                        {
                            division.Add(RenderTag((CodeRenderer.MarkupStructure.Tag)token,division));
                            isPrevText = false;
                        }

                    break;
                default:
                    //throw new NotImplementedException();
                    break;
            }
            return element;
        }
Esempio n. 3
0
 protected static Head RenderHead(CodeRenderer.MarkupStructure.Tag HeadTag,Element ParentElement)
 {
     Head Head = new Head(HeadTag.Attributes,ParentElement);
     foreach (CodeRenderer.MarkupStructure.Tag tag in HeadTag.Content)
         if (tag.name == "title")
             Head.Title = RenderTitle(tag);
         else throw new NotImplementedException();
     return Head;
 }
Esempio n. 4
0
 protected static string RenderTitle(CodeRenderer.MarkupStructure.Tag TitleTag)
 {
     string Title = "";
     foreach (CodeRenderer.MarkupStructure.Text text in TitleTag.Content)
     {
         if (text.text.Trim().Length == 0) continue;
         if (Title.Length > 0)
             Title += " ";
         Title += text.text;
     }
     return Title;
 }
Esempio n. 5
0
        static public CodeRenderer          Create(CodeRenderType eType, CodeRenderOptions xOptions = null)
        {
            CodeRenderer xRenderer = null;

            //
            switch (eType)
            {
            case CodeRenderType.Svg: xRenderer = new SvgRenderer(); break;

            case CodeRenderType.Png: xRenderer = new PngRenderer(); break;
            }
            //
            xRenderer.m_xOptions = xOptions;
            //
            return(xRenderer);
        }
Esempio n. 6
0
        public AlgorithmsAnimation(GameObject world, Texture2DRectangle texture, SpriteFont font)
        {
            animation       = new Animation();
            stack           = new Stack <StackFrameData>();
            globalVariables = new Dictionary <string, GameObject>();
            stackWorld      = new World();
            world.AddChild(stackWorld);
            this.texture = texture;
            this.font    = font;

            this.world = world;

            code          = new CodeRenderer(texture, font);
            code.Size     = new Vector2(world.Size.X / 2, world.Size.Y);
            code.Position = new Vector2(world.Size.X - code.Size.X, 0);

            world.AddChild(code);
        }
Esempio n. 7
0
 public static void Render(Page page,CodeRenderer.MarkupStructure.Html html)
 {
     Renderer.page = page;
     foreach (CodeRenderer.MarkupStructure.Tag tag in html.RootTag.Content)
     {
         switch (tag.name)
         {
             case "head":
                 page.Html.Head = (Head)RenderHead(tag,page.Html);
                 break;
             case "body":
                 page.Html.Body = (Body)RenderTag(tag,page.Html);
                 break;
             default:
                 throw new NotImplementedException();
                 break;
         }
     }
 }
Esempio n. 8
0
        static void CreateFileString(string sData, string sOutpuFilename, string sFileId, int iSegmentIndex, int iSegmentCount, int iDataCols = 14)
        {
            Pdf417CodeOptions xOptions = new Pdf417CodeOptions();

            xOptions.m_bMacroPDF             = true;
            xOptions.m_sMacroPDFFileID       = sFileId;
            xOptions.m_iMacroPDFSegmentIdx   = iSegmentIndex;
            xOptions.m_iMacroPDFSegmentCount = iSegmentCount;
            xOptions.m_iDataColumns          = iDataCols;
            xOptions.m_iDataRows             = 0;
            xOptions.m_fY2XRatio             = 4;

            CodeEncoder bcPdf417 = CodeEncoder.CreateCode(CodeType.Pdf417, new TextPayload(sData), xOptions,
                                                          //CodeRenderer.Create( CodeRenderType.Png , new PngRenderOptions( 128 , 128 , sOutpuFilename + ".png" ) ) );
                                                          CodeRenderer.Create(CodeRenderType.Svg, new SvgRenderOptions()
            {
                m_bHorizontalOptimization = false
            }));

            File.WriteAllText(sOutpuFilename + ".svg", bcPdf417.Renderer.GetStringData());
        }
Esempio n. 9
0
 public Page(CodeRenderer.MarkupStructure.Html html)
 {
     this.Html = new RootElement(html.RootTag.Attributes);
     Renderer.Render(this, html);
 }
Esempio n. 10
0
 public Text(CodeRenderer.MarkupStructure.Text text, Element ParentElement)
     : base(null, ParentElement)
 {
     this.type = ElementType.TEXT;
     this.text = HtmlToText(text.text);
 }
Esempio n. 11
0
        static void Main(string[] args)
        {
            // quick and easy code encode

            string dummyText = @"A barcode (also bar code) is an optical, machine-readable representation of data; the data usually describes something about the object that carries the barcode. Traditional barcodes systematically represent data by varying the widths and spacings of parallel lines, and may be referred to as linear or one-dimensional (1D). Later, two-dimensional (2D) variants were developed, using rectangles, dots, hexagons and other geometric patterns, called matrix codes or 2D barcodes, although they do not use bars as such. Initially, barcodes were only scanned by special optical scanners called barcode readers.";

            CodeEncoder bc128 = CodeEncoder.CreateCode(CodeType.Code128, new TextPayload("7560001000234"), null,
                                                       CodeRenderer.Create(CodeRenderType.Svg, new SvgRenderOptions()
            {
                m_iPixelPerModuleY = 20
            }));

            //CodeRenderer.Create( CodeRenderType.Xaml) );

            File.WriteAllText("test_code128.svg", bc128.Renderer.GetStringData());
            //
            //string sTest128 = CodeDecoder.Decode(bc128.Data).Text;


            // quick and easy code encode
            CodeEncoder bcAztec = CodeEncoder.CreateCode(CodeType.Aztec, new TextPayload(dummyText), null,
                                                         CodeRenderer.Create(CodeRenderType.Png, new PngRenderOptions(128, 128)));

            File.WriteAllBytes("test_aztec.png", bcAztec.Renderer.GetByteData());
            //
            //string sTestAztec = CodeDecoder.Decode(bcAztec.Data).Text;
            string sTestAztecPng = CodeDecoder.Decode(File.ReadAllBytes("test_aztec.png")).Text;



            // multiple code render and data acquire
            CodeEncoder bcQRCode = CodeEncoder.CreateCode(CodeType.QR, new TextPayload(dummyText), null,
                                                          CodeRenderer.Create(CodeRenderType.Png, new PngRenderOptions(256, 256)));

            File.WriteAllBytes("test_qr.png", bcQRCode.Renderer.GetByteData());
            //
            //string sTestsQR=CodeDecoder.Decode( bcQRCode.Data ).Text;
            string sTestQRPng = CodeDecoder.Decode(File.ReadAllBytes("test_qr.png")).Text;

            // custom render
            CodeRenderer xSvgOutput = CodeRenderer.Create(CodeRenderType.Svg, new SvgRenderOptions());

            xSvgOutput.Render(bcQRCode.Data);
            File.WriteAllText("test.svg", xSvgOutput.GetStringData());

            // acquire data
            byte[] sPngData = bcQRCode.Renderer.GetByteData();
            string sSvgData = xSvgOutput.GetStringData();



            // SwissQR - payload
            Contact   _contact   = new Contact("John Doe", "3003", "Bern", "CH", "Parlamentsgebäude", "1");
            Iban      _iban      = new Iban("CH2609000000857666015", Iban.IbanType.Iban);
            Reference _reference = new Reference(Reference.ReferenceType.QRR, "990005000000000320071012303", Reference.ReferenceTextType.QrReference);
            Currency  _currency  = Currency.CHF;
            decimal   _amount    = 100.25m;

            SwissQrCodePayload dataQR    = new SwissQrCodePayload(_iban, _currency, _contact, _reference, null, _amount, null, null);
            CodeEncoder        bcQRSwiss = CodeEncoder.CreateCode(CodeType.SwissQR, dataQR, null,
                                                                  CodeRenderer.Create(CodeRenderType.Png, new PngRenderOptions(256, 256)));

            File.WriteAllBytes("test_swissqr.png", bcQRSwiss.Renderer.GetByteData());
            //
            //string sQRSwiss = CodeDecoder.Decode(bcQRSwiss.Data).Text;
            string sQRSwissPng = CodeDecoder.Decode(File.ReadAllBytes("test_swissqr.png")).Text;


            // MacroPDF417
            SplitFile("~pdf417dump.cab.txt", "NetCore.seg", "001899017");
        }