游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1094|回复: 1

各位大哥帮小弟查错啊

[复制链接]

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
发表于 2004-11-1 19:55:00 | 显示全部楼层 |阅读模式
请好心人帮我找下里面的错误好吗?我就是不明白哪错了……
bool game:oadBmpFile(LPDIRECTDRAWSURFACE7 lpddSurface,LPCSTR MapFileName,int width,int height,COLORREF ColorKey)
{
   //ddsd在ddraw初始化时已经初始化过了
    ddsd.dwWidth =width;
        ddsd.dwHeight=height;
        BITMAP      bm;
        HDC         hdc_image;
   
    hdc_image=CreateCompatibleDC(NULL);
    //载入位图
    HBITMAP BMP=(HBITMAP)LoadImage(GetModuleHandle(NULL),MapFileName,IMAGE_BITMAP,width,height,LR_LOADFROMFILE);
        if(BMP==NULL)
                (HBITMAP)LoadImage(NULL, MapFileName, IMAGE_BITMAP, width, height, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
        if(BMP==NULL)
        {
                MessageBox(hwnd_window_main,"无法载入位图",NULL,MB_OK);
                //OutputDebugString("无法载入位图");
                return false;
        }
        //建立幕后内存区
        GetObject(BMP,sizeof(bm),&bm);
        width=width==0?bm.bmWidth:width;
        height=height==0?bm.bmHeight:height;

        ddsd.dwWidth=width;
        ddsd.dwHeight=height;
        if(lpDD->CreateSurface(&ddsd,&lpddSurface,NULL)!=DD_OK)      //lpDD=ddraw对象的指针
    {
                MessageBox(hwnd_window_main,"读取图片时无法建立幕后缓存区域",NULL,MB_OK);
                //OutputDebugString("读取图片时无法建立幕后缓存区域!\n");
                return false;
        }
        //分配幕后内存区域
    ::SelectObject(hdc_image,BMP);
        lpddSurface->GetDC(&hdc_buffer);
        ::BitBlt(hdc_buffer,0,0,width,height,hdc_image,0,0,SRCCOPY);
        lpddSurface->ReleaseDC(hdc_buffer);

    //设置颜色键
        colorkey.dwColorSpaceHighValue=0x0;
        colorkey.dwColorSpaceLowValue =0x0;
        lpddSurface->SetColorKey(DDCKEY_SRCBLT,&colorkey);
        DeleteObject(BMP);
        DeleteDC(hdc_image);
        return true;
}

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2004-11-1 22:08:00 | 显示全部楼层

Re:各位大哥帮小弟查错啊

有什么症状吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 02:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表