gpt4 book ai didi

c++ - ImageList 和 BltBit - ting

转载 作者:行者123 更新时间:2023-11-28 01:12:40 24 4
gpt4 key购买 nike

我在 CE BltBit 中遇到问题,从以前创建的兼容 hdc 到设备的 hdc。

以下代码有效:

 hdc = pdis->hDC;
FillRect(hdc, &(pdis->rcItem), (HBRUSH)GetStockObject(BLACK_BRUSH));
ImageList_Draw(himl, imageIndex, hdc, 15 , 30, ILD_NORMAL);

然而,下面只是绘制了黑色矩形,并没有将图像放在顶部。

        hdc = pdis->hDC;
hdcmem = CreateCompatibleDC(hdc);
FillRect(hdc, &(pdis->rcItem), (HBRUSH)GetStockObject(BLACK_BRUSH));
ImageList_Draw(himl, imageIndex, hdcmem, 0 , 0, ILD_NORMAL);
BitBlt(hdc, 15, 30, 130, 100, hdcmem, 0, 0, SRCCOPY);

欢迎提出任何想法。

最好的问候E

最佳答案

CreateCompatibleDC不做你认为它做的事。从链接页面:

Before an application can use a memory device context for drawing operations, it must select a bitmap of the correct width and height into the device context. This may be done by using CreateCompatibleBitmap to specify the height, width, and color organization required in the function call.

设备上下文是一种抽象。它们背后必须有一个存储空间——一个屏幕,或者在您的情况下,一个位图。

关于c++ - ImageList 和 BltBit - ting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593737/

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