The method creates an exact copy of specified managed image, but allocated in unmanaged memory.
public static UnmanagedImage FromManagedImage(Bitmap image) { UnmanagedImage dstImage = null; BitmapData sourceData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadOnly, image.PixelFormat); try { dstImage = FromManagedImage(sourceData); } finally { image.UnlockBits(sourceData); } return dstImage; }