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 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败