/// <summary> /// Convert the texture to a Bitmap /// </summary> /// <param name="target">Reference face</param> /// <param name="rectangle">Rectangle bounds</param> /// <returns>Bitmap handle or null</returns> protected Bitmap ToBitmap(TextureTarget target, Rectangle rectangle) { if (!Lock(target, ImageLockMode.ReadOnly, rectangle)) { return(null); } Bitmap bm = new Bitmap(rectangle.Width, rectangle.Height); System.Drawing.Imaging.BitmapData bmd = bm.LockBits(rectangle, System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); System.Runtime.InteropServices.Marshal.Copy(Data, 0, bmd.Scan0, Data.Length); bm.UnlockBits(bmd); Unlock(target); return(bm); }