Bitmap::ConvertFormat 方法 (gdiplusheaders.h)

Bitmap::ConvertFormat 方法将位图转换为指定的像素格式。 位图中的原始像素数据将替换为新的像素数据。

语法

Status ConvertFormat(
  [in] PixelFormat  format,
  [in] DitherType   dithertype,
  [in] PaletteType  palettetype,
  [in] ColorPalette *palette,
  [in] REAL         alphaThresholdPercent
);

parameters

[in] format

类型: PixelFormat

指定新像素格式的像素格式常量

[in] dithertype

类型: DitherType

DitherType 枚举的元素,用于指定抖振算法。 如果转换不会减少像素数据的位深度,请传递 DitherTypeNone

[in] palettetype

类型: PaletteType

PaletteType 枚举的元素,指定要用于抖改的标准调色板。 如果要转换为非索引格式,则忽略此参数。 在这种情况下,传递 PaletteType 枚举的任何元素,如 PaletteTypeCustom

[in] palette

类型: ColorPalette*

指向 ColorPalette 结构的指针,该结构指定其索引存储在转换后的位图的像素数据中的调色板。 此调色板 (称为实际调色板) 不必具有由 palettetype 参数指定的类型。 palettetype 参数指定可由任何有序或螺旋抖动算法使用的标准调色板。 如果实际调色板的类型不同于 调色板 参数指定的类型,则 Bitmap::ConvertFormat 方法将执行从标准调色板到实际调色板的最近颜色转换。

[in] alphaThresholdPercent

类型: REAL

0 到 100 范围内的实数,指定源位图中的哪些像素将映射到转换后的位图中的透明颜色。 值为 0 指定没有源像素映射到透明颜色。 值 100 指定任何不完全不透明的像素将映射到透明颜色。 值 t 指定任何小于完全不透明 t% 的源像素将映射到透明颜色。 请注意,要使 alpha 阈值有效,调色板必须具有透明颜色。 如果调色板没有透明颜色,则 alpha 值低于阈值的像素将映射到最匹配 (0、0、0、0) (通常是黑色)的颜色。

返回值

类型: 状态

如果方法成功,则返回 Ok,这是 Status 枚举的元素。

如果 方法失败,它将返回 Status 枚举的其他元素之一。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 gdiplusheaders.h (包括 Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

另请参阅

Bitmap

Bitmap::InitializePalette