Exemplo n.º 1
0
        protected override void ParseData(byte[] chunkData)
        {
            Llista <byte> bytesAConvertir = new Llista <byte>();
            long          posicion        = 0;

            while (chunkData[posicion] != NULLBYTE && chunkData.LongLength > posicion)
            {
                bytesAConvertir.Add(chunkData[posicion++]);
            }
            if (chunkData[posicion] == NULLBYTE)
            {
                keyword = Serializar.ToString(bytesAConvertir.ToTaula());
                bytesAConvertir.Clear();
                posicion++;                //paso nullByte
                while (chunkData.LongLength > posicion)
                {
                    bytesAConvertir.Add(chunkData[posicion++]);
                }
                Information = Serializar.ToString(System.Text.ASCIIEncoding.Convert(System.Text.Encoding.GetEncoding(1252), Encoding.ASCII, bytesAConvertir.ToTaula()));
            }
            else
            {
                throw new ChunkFormatException();
            }
        }
Exemplo n.º 2
0
        protected override void ParseData(byte[] chunkData)
        {
            Llista <byte> bytesAConvertir = new Llista <byte>();
            Encoding      encodingSource  = null;
            long          posicion        = 0;

            while (chunkData[posicion] != NULLBYTE && chunkData.LongLength > posicion)
            {
                bytesAConvertir.Add(chunkData[posicion++]);
            }
            if (chunkData[posicion] == NULLBYTE)
            {
                keyword = Serializar.ToString(bytesAConvertir.ToTaula());
                bytesAConvertir.Clear();
                posicion++;                              //paso el Null byte
                if (COMPRESION != chunkData[posicion++]) //leo la compresion
                {
                    throw new ChunkFormatException();
                }
                while (chunkData.LongLength > posicion)
                {
                    bytesAConvertir.Add(chunkData[posicion++]);
                }
                encodingSource = System.Text.Encoding.GetEncoding(1252);                //es la unica usada...
                Information    = Serializar.ToString(System.Text.ASCIIEncoding.Convert(encodingSource, Encoding.ASCII, bytesAConvertir.ToTaula()));
            }
            else
            {
                throw new ChunkFormatException();
            }
        }
        public void Clear()
        {
            IList <KeyValuePair <TKey, TValue> > items = null;

            if (Removed == null || ClearConfirmation(this))
            {
                try {
                    Monitor.Enter(llistaOrdenada);

                    {
                        if (Removed != null)
                        {
                            items = new Llista <KeyValuePair <TKey, TValue> >(this);
                        }
                        llistaOrdenada.Clear();
                        llista.Clear();
                    }
                } finally {
                    Monitor.Exit(llistaOrdenada);

                    if (Updated != null)
                    {
                        Updated(this, new DicEventArgs <TKey, TValue>(new KeyValuePair <TKey, TValue> [0]));
                    }
                    if (Removed != null)
                    {
                        Removed(this, new DicEventArgs <TKey, TValue>(items));
                    }
                }
            }
        }
Exemplo n.º 4
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();
        }
        public IEnumerator <KeyValuePair <TKey, TValue> > GetEnumerator()
        {
            Llista <KeyValuePair <TKey, TValue> > parelles = new Llista <KeyValuePair <TKey, TValue> >();

            Monitor.Enter(llistaOrdenada);
            for (int i = 0; i < llista.Count; i++)
            {
                parelles.Add(new KeyValuePair <TKey, TValue>(llista[i], llistaOrdenada[llista[i]]));
            }
            Monitor.Exit(llistaOrdenada);
            return(parelles.GetEnumerator());
        }
Exemplo n.º 6
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();
        }
Exemplo n.º 7
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());
        }
Exemplo n.º 8
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();
        }
Exemplo n.º 9
0
        public BitmapAnimated(IList <Bitmap> bmps, params int[] delays)
        {
            int i = 0;

            numeroDeRepeticionesFijas = 1;
            frameAlAcabar             = 0;
            animarCiclicamente        = true;
            frames = new Llista <KeyValuePair <Bitmap, int> >();
            if (bmps != null)
            {
                for (int j = 0; j < bmps.Count; j++)
                {
                    frames.Add(new KeyValuePair <Bitmap, int>(bmps[j], delays[i]));
                    if (delays.Length > i)
                    {
                        i++;
                    }
                }
            }
        }
Exemplo n.º 10
0
 public RestriccionXsd(TiposBaseXsd tipo)
 {
     tipoBaseRestriccion = tipo;
     restricciones       = new LlistaOrdenada <Restricciones, string>();
     elementosEnumerados = new Llista <string>();
 }
Exemplo n.º 11
0
 /// <summary>
 /// Default constructor
 /// </summary>
 public PNG()
 {
     idats    = new List <Chunk>();
     extras   = new Llista <Chunk>();
     metadata = new LlistaOrdenada <string, Chunk>();
 }
Exemplo n.º 12
0
 public Pila()
 {
     pila = new Llista <T>();
 }
Exemplo n.º 13
0
 public Collage()
 {
     fragments = new Llista <ImageFragment>();
 }