首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

long型数组转指针,该怎么解决

2012-01-14 
long型数组转指针在函数ABC(longpImage)中调用Bitblt,其中Bitblt的第五个参数CDC*pSrcDC想用到pImage数据,

long型数组转指针
在函数   ABC(long   pImage)中调用Bitblt,其中Bitblt的第五个参数CDC*   pSrcDC想用到pImage数据,该怎么实现?请高手赐教
      个人认为是不是先要把pImage转换成指针型,该如何转换?


[解决办法]
变量类型不是可以随便转换的,这也算C的一个弊病。不是什么东西用CDC*强制转换就能当CDC*用的。

你的问题是将这块数据当作位图来用,但是没有位图头,因此需要自己构建一个位图头,然后用SetDIBSection绘制,或者用CreateDIBSection创建一个位图。
[解决办法]
自己写个强制转化过程嘛. 如果你确定你传来的数据符合CDC的格式规范.
[解决办法]
LZ的问题真是奇怪,pImage是什么类型的位图结构?多少位色的?多少长宽的?这些东西不知道的话,怎么画?如果这些东西知道了的话,不用文件头,可以是可以,就是SetPixel()了,不过也一样要先创建一个缓冲CDC和HBITMAP,再SetPixel()上去,这效率也太低了吧?考虑效率问题,还是自己填一个文件头,用CreateDIBSection来创建一个HBITMAP,然后创建一个CDC,用SelectObject把HBITMAP选进去,这样才能得到你要的BitBlt的参数。

热点排行