Project1

标题: 请教XP增大分辨率后的画面拉伸问题 [打印本页]

作者: 赛露休斯    时间: 2014-6-18 00:20
标题: 请教XP增大分辨率后的画面拉伸问题
VX里用 SetWindowPos 扩大分辨率后画面也能跟着一块拉伸
XP里我用同样的办法虽然窗口放大了但画面不拉伸,右下角扩大的区域一块黑边。
为什么VX能拉伸但XP不行?
XP怎么能够像VX那样增大分辨率后画面也跟着拉伸?
作者: fux2    时间: 2014-6-18 10:55
看了一下xp描绘画面使用的是bitblt(gdi32),而且是640*32像素为一个区域描绘,
理想中的解决方法是把这个函数替换成StretchBlt,但是计算坐标也是个蛋疼的事情。
作者: wolves    时间: 2014-6-18 11:17
https://rpg.blue/forum.php?mod=v ... highlight=800%2B600
看这个范例吧,虽说这个只能拉伸到800*600
作者: 赛露休斯    时间: 2014-6-18 11:21
fux2 发表于 2014-6-18 10:55
看了一下xp描绘画面使用的是bitblt(gdi32),而且是640*32像素为一个区域描绘,
理想中的解决方法是把这个 ...

话说这个是怎么看的?像是bitblt(gdi32),还有640*32像素描绘这些,在哪里看?我也想看看= =
作者: fux2    时间: 2014-6-18 11:36
赛露休斯 发表于 2014-6-18 11:21
话说这个是怎么看的?像是bitblt(gdi32),还有640*32像素描绘这些,在哪里看?我也想看看= = ...

你如果有Ollydbg之类的调试软件的话,调试运行游戏,下bitblt断点就可以了。
Y参数以32递增的那个就是了。
作者: 赛露休斯    时间: 2014-6-18 11:59
fux2 发表于 2014-6-18 11:36
你如果有Ollydbg之类的调试软件的话,调试运行游戏,下bitblt断点就可以了。
Y参数以32递增的那个就是了 ...

bitblt断点怎么下?试了它提示我未知的标识符
作者: fux2    时间: 2014-6-18 12:10
赛露休斯 发表于 2014-6-18 11:59
bitblt断点怎么下?试了它提示我未知的标识符


如果没有常用断点的功能,就在命令框里输入(需要command插件,通常自带)输入
  1. bp BitBlt
复制代码
然后敲回车,按Alt+B可以看到所有断点的状态。
作者: 赛露休斯    时间: 2014-6-19 09:58
fux2 发表于 2014-6-18 12:10
如果没有常用断点的功能,就在命令框里输入(需要command插件,通常自带)输入然后敲回车,按Alt+B可以看 ...

下断并找到那个断点了,但没找到"Y参数以32递增"这个从哪里看?
作者: fux2    时间: 2014-6-19 11:32
赛露休斯 发表于 2014-6-19 09:58
下断并找到那个断点了,但没找到"Y参数以32递增"这个从哪里看?

右下角堆栈列表会解析参数,od会自动注释成x,y,你运行两次发现Y在递增就对了。
作者: 赛露休斯    时间: 2014-6-20 13:34
fux2 发表于 2014-6-19 11:32
右下角堆栈列表会解析参数,od会自动注释成x,y,你运行两次发现Y在递增就对了。 ...

哦,找到一个YDest,不过是以8来递增的




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1