public CopyToArgb ( |
||
surfaceData | Information on the destination buffer. | |
return | void |
public unsafe ArgbSurface(Surface surface) : base(surface) { data = new byte[sizeof(uint) * Width * Height]; fixed (byte* dataPointer = data) surface.CopyToArgb(new SurfaceData(Width, Height, (IntPtr)dataPointer, sizeof(uint) * Width)); }
public unsafe ArgbSurface(Surface surface) : base(surface) { data = new byte[sizeof(uint) * Width * Height]; fixed(byte *dataPointer = data) surface.CopyToArgb(new SurfaceData(Width, Height, (IntPtr)dataPointer, sizeof(uint) * Width)); }
private Bitmap SurfaceToBitmap(Surface surface) { if (surface is JpegSurface) { var bitmap = new Bitmap(surface.CreateStream()); SwapRedAndBlueChannels(bitmap); return bitmap; } else { var bitmap = new Bitmap(surface.Width, surface.Height, PixelFormat.Format32bppArgb); try { var bitmapData = bitmap.LockBits(new Rectangle(0, 0, surface.Width, surface.Height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); surface.CopyToArgb(new SurfaceData(bitmapData.Width, bitmapData.Height, bitmapData.Scan0, bitmapData.Stride)); bitmap.UnlockBits(bitmapData); return bitmap; } catch { bitmap.Dispose(); throw; } } }