public PixelData GetPixel(int x, int y) { PixelData returnValue = *PixelAt(x, y); return(returnValue); }
public void SetPixel(int x, int y, PixelData colour) { PixelData *pixel = PixelAt(x, y); *pixel = colour; }
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; } }