ChrisZhangcx 2016-06-05 02:37 采纳率: 0%
浏览 1130
已结题

WIN32汇编在客户区某位置贴图(贴图位置由变量指定)

我将640×480大小的客户区划分为20×15个格子(每个格子大小为32×32像素),
并给每个格子设立了一个标志位1或0。我想要实现的效果是:通过循环遍历每一个格子,倘若遍历到的格子标志位为1,则在该格子位置上贴一张图,大小为32×32像素(即正好覆盖该格子)。
一开始我设置了两个局部变量row和col,在遍历判断某格子的标志位为1时,使用bitblt函数:invoke BitBlt, hDC, row, col, 32, 32, hMDC, 0, 0, SRCCOPY。
但是后来得知BITBLT函数中第2、3两个控制客户区位置的参数必须是常量,试验后也发现,我这样的调用方式尽管编译能通过,但是运行后并不能贴图。
我看了罗云彬老师的《WINDOWS汇编语言程序设计》,其中的例子中也用到了数据块传送函数(Patblt、Bitblt等)进行贴图,但是例子中所有的贴图位置都是直接指定的常量(如:invoke BitBlt,hDC,0,0,640,480,hMDC,0,0,SRCCOPY),没有我这种需要控制贴图位置的情况,在网上找了一些资料也得不到解答。
请问大神们,怎么才能实现在客户区指定地点贴图呢?(贴图地点不是常量)

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-06-05 05:25
    关注
     查了下,BitBlt的定义是
    BOOL BitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop);
    你的参数不对。
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题