Beispiel #1
0
        protected virtual void UpdateData()
        {
            Llista <Byte> data = new Llista <byte>();

            data.AddRange(Serializar.GetBytes(Keyword));                                                                                                //Keyword
            data.Add(NULLBYTE);                                                                                                                         //null separator
            data.AddRange(System.Text.ASCIIEncoding.Convert(Encoding.ASCII, System.Text.Encoding.GetEncoding(1252), Serializar.GetBytes(Information))); //text
            ChunkData = data.ToTaula();
        }
Beispiel #2
0
        void Update()
        {
            Llista <byte> dataBytes = new Llista <byte>();

            dataBytes.AddRange(Serializar.GetBytes(SequenceNumber));
            dataBytes.AddRange(Serializar.GetBytes(Width));
            dataBytes.AddRange(Serializar.GetBytes(Height));
            dataBytes.AddRange(Serializar.GetBytes(OffsetX));
            dataBytes.AddRange(Serializar.GetBytes(OffsetY));
            dataBytes.AddRange(Serializar.GetBytes(DelayNum));
            dataBytes.AddRange(Serializar.GetBytes(DelayDen));
            dataBytes.Add((byte)DisposeOP);
            dataBytes.Add((byte)BlendOP);
            ChunkData = dataBytes.ToTaula();
        }
Beispiel #3
0
        public Chunk[] GetChunks()
        {
            Llista <Chunk> chunks    = new Llista <Chunk>();
            Chunk          chunkIDAT = null;
            uint           orden     = 3;//no se porque va de 3 en 3....

            if (pngs.Count > 0)
            {
                //	pngs.Ordena();
                chunks.Add(IhdrChunk);                                             //IHDR
                chunks.Add(new acTLChunk(NumeroDeRepeticiones, (uint)pngs.Count)); //acTL

                //pongo los pngs
                //fcTL
                if (!SaltarPrimerFotograma)
                {
                    pngs[0].FCTL.SequenceNumber = orden; orden += 3;
                    chunks.Add(pngs[0].FCTL);
                }
                //Idata
                for (int j = 0; j < pngs[0].IDATS.Count; j++)
                {
                    pngs[0].IDATS[j].ChunkType = IDATChunk.NAME;//el primero es IDAT
                    chunks.Add(pngs[0].IDATS[j]);
                }
                for (int i = 1; i < pngs.Count; i++)
                {
                    //fcTL

                    pngs[i].FCTL.SequenceNumber = orden; orden += 3;
                    chunks.Add(pngs[i].FCTL);
                    //Idata
                    for (int j = 0; j < pngs[i].IDATS.Count; j++)
                    {
                        chunkIDAT           = pngs[i].IDATS[j].Clon();
                        chunkIDAT.ChunkType = fdATChunk.NAME;// los demás fdAT
                        chunks.Add(chunkIDAT);
                    }
                }
                chunks.AddRange(metadata);
                chunks.Add(IendChunk);
            }
            return(chunks.ToTaula());
        }
Beispiel #4
0
        void UpDate()
        {
            Llista <byte> dataBytes = new Llista <byte>();

            uint[] fields =
            {
                width,
                height,
                bitDepth,
                colorType,
                compressionMethod,
                filterMethod,
                interlaceMethod
            };
            for (int i = 0; i < fields.Length; i++)
            {
                dataBytes.AddRange(Serializar.GetBytes(fields[i]));
            }
            ChunkData = dataBytes.ToTaula();
        }