本文整理匯總了C#中System.Drawing.Imaging.ColorPalette.ConvertFromMemory方法的典型用法代碼示例。如果您正苦於以下問題:C# ColorPalette.ConvertFromMemory方法的具體用法?C# ColorPalette.ConvertFromMemory怎麽用?C# ColorPalette.ConvertFromMemory使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Drawing.Imaging.ColorPalette
的用法示例。
在下文中一共展示了ColorPalette.ConvertFromMemory方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: GetAdjustedPalette
/// <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);
}
}
}
示例2: _GetColorPalette
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;
}
示例3: GetAdjustedPalette
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);
}
}
}
示例4: _GetColorPalette
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;
}