Example #1
0
		public static System.Drawing.Bitmap DecodeTextureDataToBitmap(byte[] data, int width, int height, TextureFormat format)
		{
			System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(width, height,
				format.IsPremultiplied() ? PixelFormat.Format32bppPArgb : PixelFormat.Format32bppArgb);
            BitmapData bitmapData = null;
            try
            {
				bitmapData = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, width, height), 
                    ImageLockMode.WriteOnly, bitmap.PixelFormat);
                PipelineWriter writer = new ARGB32Writer(bitmapData.Scan0, bitmapData.Width,
														bitmapData.Height, bitmapData.Stride);
				DecodeTextureDataToWriter(data, width, height, format, writer);
			}
            finally
            {
                if (bitmapData != null)
                    bitmap.UnlockBits(bitmapData);
            }
            return bitmap;
        }