Esempio n. 1
0
        public PixelData GetPixel(int x, int y)
        {
            PixelData returnValue = *PixelAt(x, y);

            return(returnValue);
        }
Esempio n. 2
0
        public void SetPixel(int x, int y, PixelData colour)
        {
            PixelData *pixel = PixelAt(x, y);

            *pixel = colour;
        }
Esempio n. 3
0
        private void ParseTag(ISwfTag tag)
        {
            switch (tag.TagType)
            {
            case TagType.DefineSprite:
                ParseDefineSpriteTag((DefineSpriteTag)tag);
                break;

            case TagType.DefineShape:
                ParseDefineShapeTag((DefineShapeTag)tag);
                break;

            case TagType.DefineShape2:
                ParseDefineShape2Tag((DefineShape2Tag)tag);
                break;

            case TagType.DefineShape3:
                ParseDefineShape3Tag((DefineShape3Tag)tag);
                break;

            case TagType.DefineShape4:
                ParseDefineShape4Tag((DefineShape4Tag)tag);
                break;

            case TagType.JPEGTables:
                // not retained
                break;

            case TagType.DefineBits:
                ParseDefineBits((DefineBitsTag)tag);
                break;

            case TagType.DefineBitsJPEG2:
                ParseDefineBits((DefineBitsTag)tag);
                break;

            case TagType.DefineBitsJPEG3:
                ParseDefineBits((DefineBitsTag)tag);
                break;

            case TagType.DefineBitsLossless:
                ParseDefineBitsLossless((DefineBitsLosslessTag)tag);
                break;

            case TagType.DefineBitsLossless2:
                if (!addedFullBitmap)
                {
                    addedFullBitmap = true;
                    DefineBitsLosslessTag t = (DefineBitsLosslessTag)tag;
                    fullBitmapId = t.CharacterId;
                    //DefineBitsLosslessTag t = new DefineBitsLosslessTag(true);
                    //t.CharacterId = ot.CharacterId;
                    //t.BitmapFormat = ot.BitmapFormat;
                    t.Width         = (uint)fullBitmap.Bitmap.Width;
                    t.Height        = (uint)fullBitmap.Bitmap.Height;
                    t.OrgBitmapData = null;
                    uint   pxCount = t.Width * t.Height;
                    RGBA[] pxs     = new RGBA[pxCount];

                    fullBitmap.LockBitmap();
                    for (int i = 0; i < pxCount; i++)
                    {
                        int       x  = (int)(i % t.Width);
                        int       y  = (int)(Math.Floor((double)(i / t.Width)));
                        PixelData pd = fullBitmap.GetPixel(x, y);
                        pxs[i] = new RGBA(pd.red, pd.green, pd.blue, pd.alpha);
                    }
                    t.BitmapData = pxs;
                    fullBitmap.UnlockBitmap();
                }
                break;

            case TagType.UnsupportedDefinition:
                break;
            }
        }