gpt4 book ai didi

windows - 颜色问题

转载 作者:可可西里 更新时间:2023-11-01 10:29:48 26 4
gpt4 key购买 nike

我正在编写一个贪吃蛇游戏,我有一个苹果图像要在游戏中使用,所以我创建了一个 DC,然后将苹果加载到这个 DC,当游戏运行时,它应该将苹果复制到缓冲区然后缓冲区到屏幕,但苹果在屏幕上以黑白结尾,任何人都知道为什么?这是我的一些代码,可能会有所帮助...

“苹果加载程序”

invoke GetModuleHandle,0
invoke LoadBitmap,eax,10
push eax
invoke CreateCompatibleDC,0
pop ecx
mov [mapple],eax
invoke SelectObject,[mapple],ecx

“缓冲区创建过程”

invoke CreateCompatibleDC,0
mov [mdc],eax
invoke CreateCompatibleBitmap,[mdc],800,600
mov [mbmp],eax
invoke SelectObject,[mdc],[mbmp]
invoke SetBkMode,[mdc],TRANSPARENT
invoke SetTextColor,[mdc],0FFFFFFh

调用 BitBlt 函数

invoke BitBlt,[mdc],[applex],[appley],20,20,[mapple],0,0,SRCCOPY 


invoke GetDC,0
invoke BitBlt,eax,0,0,800,600,[mdc],0,0,SRCCOPY

最佳答案

来自 elsewhere您需要将 CreateCompatibleBitmap 作为目标的实际 DC(例如 GetDC(NULL))而不是刚创建的 mdc。因为在 CreateCompatibleDC 之后,当前(=初始,默认)位图是 CreateCompatibleBitmap(mdc...) 将匹配的单色像素 1x1x1b。

关于windows - 颜色问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3359457/

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