您是否真的需要放回原始设备上下文位图,还是可以简单地将其切换出并删除原始文件呢?

问题描述 投票:0回答:1

如果创建内存设备上下文CreateCompatibleDC(),然后SelectObject()我为其创建的位图。我可以只将DeleteObject()返回的旧位图SelectObject()并让设备上下文删除我创建的位图吗?还是我必须保留旧的位图,然后在不再需要(析构函数)时选择旧的位图并删除我创建的位图?似乎浪费内存以保持位图永不被使用。

TIA !!

winapi gdi
1个回答
0
投票

[不,您不能删除旧的位图,因为您不拥有它(即,您没有创建它),并且您也不知道谁拥有它(即系统)。因此,是的,使用HDC中的新位图完成操作后,必须将旧位图还原到HDC中。

© www.soinside.com 2019 - 2024. All rights reserved.