永发信息网

在vs上用easyX显存指针

答案:2  悬赏:80  手机版
解决时间 2021-03-20 01:41
  • 提问者网友:酱爆肉
  • 2021-03-19 14:29
为什么我在vs上用显存指针会出现错误,而在vc上用就没有?代码见下
IMAGE yanmatu(IMAGE *img)
{
COLORREF c;
DWORD *p=GetImageBuffer(img);
c=p[0];
int w=(*img).getwidth();
int h=(*img).getheight();
for(int i=0;i {
if(c==p[i])
p[i]=WHITE;
else
p[i]=BLACK;
}
return *img;
}
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-03-19 15:20
你的代码无论在 vc 还是 vs 上都是有错误的。
DWORD 是 双字 类型,学过汇编应该知道,这个类型是 4 个字节,和 int 长度一样。
所以,你后面用 w * h * 4 表示显存的范围,自然是错误的,越界了。修改为:
for(int i=0;i
就好了。
全部回答
  • 1楼网友:过活
  • 2021-03-19 15:55
我不会~~~但还是要微笑~~~:)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯