登录
首页 » VC++源码 » VC++ 使用CDib类实现显示与保存BMP文件

VC++ 使用CDib类实现显示与保存BMP文件

于 2022-02-26 发布 文件大小:211.62 kB
0 146
下载积分: 2 下载次数: 1

代码说明:

VC++ 使用CDib类实现显示与保存BMP文件,可以通过文件菜单打开BMP文件,并显示,也可实现存储BMP文件!代码中涉及到了判断DIB是否为空、获取DIB宽度和高度,程序中调用ConstructPalette来创建调色板。相关设置代码如下:   m_hDIB=m_dib.LoadFile(file);//调用ReadDIBFile()读取图像   if(m_hDIB==NULL)   {   AfxMessageBox("图像格式不正确!");// 提示出错   return FALSE;   }   SetDib();// 初始化DIB   if (m_hDIB == NULL)// 判断读取文件是否成功   {   AfxMessageBox("读取图像时出错");// 提示出错   return FALSE;// 返回FALSE   }   SetPathName(lpszPathName);// 设置文件名称   SetModifiedFlag(FALSE);// 初始化脏标记为FALSE   return TRUE;// 返回TRUE

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ gethostbyname获取主机名和IP地址
    VC++ 获取主机名和IP地址,也就是根据主机名获得IP地址,使用了gethostbyname函数,然后再使用addr.Format格式化获取到IP地址。具体来看以下代码获取到IP地址:   // 获得主机ip地址   struct hostent * phost;   phost = gethostbyname(szhostname);//根据主机名获得IP地址    m_strName=szhostname;   int h_length=4;   for( int j = 0; j  {    CString addr;    if( j > 0 )    str += ".";    addr.Format("%u", (unsigned int)((unsigned char*)phost->h_addr_list[0])[j]);    str += addr;   }   m_strIP=str;
    2022-11-09 11:50:03下载
    积分:1
  • VC++ 6.0FreeBird软件 仿飞鸽传书,可聊天+传输文件
    VC++ 6.0自写的FreeBird仿飞鸽传书,可聊天+传输文件程序源码,我耗费一个月上百度、参考网上代码,和不断调试出来的一个网络文件传输小软件。可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。   做这个小软件的目的不是为了给别人使用,而是想通过开发这么一个小小和软件,体会软件设计的过程和了解网络通信是个大概什么样的东西(这也是我摸索了好久,现在才彻底明白原来Socket通信是这么一回事的)。总而言之:目的是为了学习。
    2023-08-31 14:20:03下载
    积分:1
  • VC++ 显式链接:关闭计算机
    VC++ 显式链接:关闭计算机,制作一个竖长形的窗口,功能包括了关机、重启、注销、锁机等功能。
    2023-05-28 20:55:03下载
    积分:1
  • VC++ 6.0 弹球游戏&打砖块
    PenBall游戏源代码,VC++ 6.0 编写开发的弹球游戏&打砖块源代码,这个游戏的叫法很多了,有人叫做乒乓球游戏,有的叫“撞球游戏”,这里被称为弹球游戏和打砖块游戏,不管叫做么吧,大家一看到运行截图就明白了是什么游戏。这款撞球游戏分为三关,第三关是最难的,还有音效,操作挺方便,球拍自动跟随鼠标移动,运动自如。分享本源码主要是让大家参考一些从游戏中剥离出来的技巧,比如控制对象移动、碰撞检测反弹等,可用于其它的VC++开发项目中。
    2022-08-13 12:20:23下载
    积分:1
  • VC 创建内存映像文件对象并使用
    VC++6.0 创建内存映像文件对象并使用,实现了写入内存映射文件和从内存映射文件中读取数据,比如将数据从内存映射文件读出,实现方法如下:   void CFileMapTransTxtDlg::OnRead()   {    //创建内存映像对象    HANDLE hMapping;    LPSTR lpData;    hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,0x100,"MYSHARE");    if(hMapping==NULL)    {    AfxMessageBox("CreateFileMapping() failed.");    return;    }    //将文件的视图映射到一个进程的地址空间上,返回LPVOID类型的内存指针    lpData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);    if(lpData==NULL)    {    AfxMessageBox("MapViewOfFile() failed.");    return;    }    //给这段映像内存的数据赋给本地变量    m_strDest.Format("%s",lpData);    //释放映像内存    UnmapViewOfFile(lpData);    //更新数据    UpdateData(FALSE);   }
    2022-05-17 02:25:47下载
    积分:1
  • VC++ 使用WinInet通过HTTP协议读取网上文件
    VC++ 6.0 使用WinInet通过HTTP协议读取网上文件   在一个按钮事件中定义了网络连接Session:   CInternetSession httpsession;//定义网络连接Session   CString Line;   CInternetFile* webfile=NULL;//定义一个文件对象指针   UpdateData();   if(m_Url.Left(7)!="http://")//如果地址不含HTTP类型标志则添加本地文件类型标志   读出文件前一部分,如果文件多于80行,三示例中只显示前80行.然后更新显示文件:   UpdateData(FALSE);//更新显示文件   delete webfile;//删除文件   GetDlgItem (IDC_SHOW)->EnableWindow (FALSE);//禁用显示按钮   httpsession.Close();//关闭连接
    2023-09-07 18:35:03下载
    积分:1
  • VC++ OpenGL粒子系统之火山喷发
    VC++ 带音效的OpenGL粒子系统之火山喷发,作者:蔡真真 张田田。选择运行参数后,在音效的配合下,很逼真的火山喷发效果展现在眼帘。程序中为每个动态元素都制作了操作类,比如键盘类和程序框架类 、粒子系统火山喷发类、字体类、载入位图类、粒子定义类、粒子系统喷发具体实例类,粒子系统火山喷发模式选择对话框类等,这些类的共同发力,实现了逼真的火山喷发效果,当然你的电脑中需要安装有OpenGL组件,在预览效果时,可选择窗口大小以及全屏、音效等。   在具体实例类中,完成了核心的火山叶喷发功能,比如计算帧速、输出文字信息、绘制地面、绘制天空、绘制背景、初始化粒子、更新粒子等操作。当然,粒子定义类也是一个很主要的操作类。
    2023-02-15 21:10:04下载
    积分:1
  • VC++ 查询数据库中指定时间段内的数据
    VC++ 查询数据库中指定时间段内的数据,为了避免时间段的输入格式出错,这里使用了日期选择器控件,用户可通过日期控件来选择起止时间,查询结果显示在DateGirdview控件中。本功能顺利测试需要自行配置数据库,最终运行效果请参见截图。
    2023-03-19 16:35:03下载
    积分:1
  • VC++ 在TreeView树形控件中使用BMP背景位图
    VC++ 在TreeView树形控件中使用BMP背景位图,实现思路:操作采用贴图的方式,把标准的TREEVIEW窗口贴在底图上。从最终的表现形式上,可理解为,把一个Tree树形菜单控件显示于一张图片之上,图片当做背景来处理了。如演示截图所示的效果,具体的实现细节请大家参阅源代码。
    2022-09-26 22:00:03下载
    积分:1
  • VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化
    VC++ .NET 实现窗口内控件自适应屏幕尺寸大小而变化,这个具体点就是,窗口中的边框和按钮等元素,会随着窗口的变大自动变大,并保持原有的比例,调用了CSelfResizeWindow::Rectify()来实现,我觉得是个很实用的窗体设计技巧。关于本源代码的几点说明:   自定义类CSelfResizeWindow实现窗口和控件的自适应,根据屏幕尺寸调整大校   使用步骤 :   1. 使需要自适应的窗口类继承于类CSelfResizeWindow,在OnInitDialog()中调用    __super::Init(this, 1, 3000);(其中1和3000是资源ID的范围,在Resource.h    中用宏定义的,Init函数的参数根据情况确定。)   2. 给窗口类添加OnSize()消息响应函数,在OnSize()函数    中调用__super::Rectify();即可。
    2023-01-25 01:40:04下载
    积分:1
  • 696518资源总数
  • 106174会员总数
  • 31今日下载