gpt4 book ai didi

c++ - GDI C/C++ - 将 BITMAP 转换为现有的 HBITMAP

转载 作者:行者123 更新时间:2023-11-28 08:15:36 26 4
gpt4 key购买 nike

如何创 build 备上下文兼容位图,然后将获得的句柄关联到 BITMAP 结构?如果我写:

...
HBITMAP hbitmap = CreateCompatibleBitmap(hdc, width, height); // these three arguments are initialized somewhere else
hbitmap = CreateBitmapIndirect(bitmap); // argument already initialized and properly filled
...

创建一个与 hdc 兼容的 HBITMAP 句柄,然后初始化一个新的 HBITMAP(填充位图数据),但不保持其兼容性。是否有一个函数不允许从 BITMAP 创建 HBITMAP,而是用现有的 BITMAP 源填充初始化的 HBITMAP?

最佳答案

CopyImage功能

创建一个新图像(图标、光标或位图)并将指定图像的属性复制到新图像。如有必要,该函数会拉伸(stretch)位以适应新图像的所需大小。

HANDLE WINAPI CopyImage(
HANDLE hImage,
UINT uType,
int cxDesired,
int cyDesired,
UINT fuFlags
);

hImage 要复制的图像的句柄。

uType 要复制的图像类型。该参数可以是以下值之一。

  • IMAGE_BITMAP 0 复制位图。
  • IMAGE_ICON 1 复制一个图标。
  • IMAGE_CURSOR 2 复制光标。

cxDesired 图像所需的宽度(以像素为单位)。如果这是零,则返回的图像将具有与原始 hImage 相同的宽度。

cyDesired 图像所需的高度(以像素为单位)。如果这是零,则返回的图像将具有与原始 hImage 相同的高度。

fuFlags

关于c++ - GDI C/C++ - 将 BITMAP 转换为现有的 HBITMAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7827652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com