Example #1
0
        /// <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);
        }
Example #2
0
        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);
         }
     }
 }
 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);
         }
     }
 }
Example #7
0
        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;
 }