/// <include file='doc\ImageAttributes.uex' path='docs/doc[@for="ImageAttributes.GetAdjustedPalette"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public void GetAdjustedPalette(ColorPalette palette, ColorAdjustType type) { // does inplace adjustment IntPtr memory = palette.ConvertToMemory(); int status = SafeNativeMethods.GdipGetImageAttributesAdjustedPalette( new HandleRef(this, nativeImageAttributes), new HandleRef(null, memory), type); if (status != SafeNativeMethods.Ok) { Marshal.FreeHGlobal(memory); throw SafeNativeMethods.StatusException(status); } palette.ConvertFromMemory(memory); Marshal.FreeHGlobal(memory); }
public void GetAdjustedPalette(ColorPalette palette, ColorAdjustType type) { // does inplace adjustment IntPtr memory = palette.ConvertToMemory(); try { Gdip.CheckStatus(Gdip.GdipGetImageAttributesAdjustedPalette( new HandleRef(this, nativeImageAttributes), memory, type)); palette.ConvertFromMemory(memory); } finally { if (memory != IntPtr.Zero) { Marshal.FreeHGlobal(memory); } } }
public void GetAdjustedPalette(ColorPalette palette, ColorAdjustType type) { IntPtr handle = palette.ConvertToMemory(); try { int status = SafeNativeMethods.Gdip.GdipGetImageAttributesAdjustedPalette(new HandleRef(this, this.nativeImageAttributes), new HandleRef(null, handle), type); if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } palette.ConvertFromMemory(handle); } finally { if (handle != IntPtr.Zero) { Marshal.FreeHGlobal(handle); } } }
public void GetAdjustedPalette(ColorPalette palette, ColorAdjustType type) { // does inplace adjustment IntPtr memory = palette.ConvertToMemory(); try { int status = Gdip.GdipGetImageAttributesAdjustedPalette( new HandleRef(this, nativeImageAttributes), new HandleRef(null, memory), type); if (status != Gdip.Ok) { throw Gdip.StatusException(status); } palette.ConvertFromMemory(memory); } finally { if (memory != IntPtr.Zero) { Marshal.FreeHGlobal(memory); } } }
/// <include file='doc\ImageAttributes.uex' path='docs/doc[@for="ImageAttributes.GetAdjustedPalette"]/*' /> /// <devdoc> /// <para>[To be supplied.]</para> /// </devdoc> public void GetAdjustedPalette(ColorPalette palette, ColorAdjustType type) { // does inplace adjustment IntPtr memory = palette.ConvertToMemory(); try { int status = SafeNativeMethods.Gdip.GdipGetImageAttributesAdjustedPalette( new HandleRef(this, nativeImageAttributes), new HandleRef(null, memory), type); if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } palette.ConvertFromMemory(memory); } finally { if(memory != IntPtr.Zero) { Marshal.FreeHGlobal(memory); } } }
private ColorPalette _GetColorPalette() { int size = -1; int status = SafeNativeMethods.Gdip.GdipGetImagePaletteSize(new HandleRef(this, nativeImage), out size); // "size" is total byte size: // sizeof(ColorPalette) + (pal->Count-1)*sizeof(ARGB) if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } ColorPalette palette = new ColorPalette(size); // Memory layout is: // UINT Flags // UINT Count // ARGB Entries[size] IntPtr memory = Marshal.AllocHGlobal(size); status = SafeNativeMethods.Gdip.GdipGetImagePalette(new HandleRef(this, nativeImage), memory, size); try { if (status != SafeNativeMethods.Gdip.Ok) { throw SafeNativeMethods.Gdip.StatusException(status); } palette.ConvertFromMemory(memory); } finally { Marshal.FreeHGlobal(memory); } return palette; }
private ColorPalette _GetColorPalette() { int size = -1; int status = SafeNativeMethods.Gdip.GdipGetImagePaletteSize(new HandleRef(this, this.nativeImage), out size); if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } ColorPalette palette = new ColorPalette(size); IntPtr ptr = Marshal.AllocHGlobal(size); status = SafeNativeMethods.Gdip.GdipGetImagePalette(new HandleRef(this, this.nativeImage), ptr, size); try { if (status != 0) { throw SafeNativeMethods.Gdip.StatusException(status); } palette.ConvertFromMemory(ptr); } finally { Marshal.FreeHGlobal(ptr); } return palette; }