登录
首页 » VC++源码 » VC++ 创建DIB操作类——CDib的源程序代码

VC++ 创建DIB操作类——CDib的源程序代码

于 2022-03-09 发布 文件大小:5.20 kB
0 200
下载积分: 2 下载次数: 1

代码说明:

VC++ 创建DIB操作类——CDib的源程序代码,这个类中创建了几个函数:1、用来绘制DIB对象的函数,2、按照DIB创建一个逻辑调色板的函数,3、计算DIB像素的起始位置,并返回指针的函数,4、返回DIB中图象的高度的函数,5、返回DIB中调色板的大小的函数,6、返回DIB中调色板颜色种数的函数等。   用于操作DIB的函数声明如下:   BOOL DrawDib(HDC, LPRECT,HGLOBAL, LPRECT,CPalette*);//显示位图   BOOL ConstructPalette(HGLOBAL,CPalette* );//构造逻辑调色板   LPSTR GetBits(LPSTR); //取得位图数据的入口地址   DWORD GetWidth(LPSTR);//取得位图的宽度   DWORD GetHeight(LPSTR);//取得位图的高度   WORD GetPalSize(LPSTR); //取得调色板的大小   WORD GetColorNum(LPSTR);//取得位图包含的颜色数目   WORD GetBitCount(LPSTR);//取得位图的颜色深度   HGLOBAL CopyObject(HGLOBAL);//用于复制位图对象   BOOL SaveFile(HGLOBAL , CFile&);//存储位图为文件   HGLOBAL LoadFile(CFile&);//从文件中加载位图   // 在对图象进行处理时,针对位图的字节宽度必须是4的倍数的这一要求,我们设计了函数GetRequireWidth,来处理这种比较特殊的情况:   int GetReqByteWidth(int ); //转换后的字节数GetRequireByteWidth   long GetRectWidth(LPCRECT );//取得区域的宽度   long GetRectHeight(LPCRECT);//取得区域的高度

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

发表评论

0 个回复

  • VC++ 使用right outer join查询SQLServer数据库的例子
    VC++ 使用right outer join查询SQLServer数据库的例子,查询结果显示在DATAGRID数据控件中,测试前请确保数据库连接已成功,且数据库非空。窗体界面效果如截图所示,注:测试时数据库连接失败,这是测试电脑的问题。
    2023-03-02 00:25:04下载
    积分:1
  • VC 电话录音的实现
    这个VC 源码模拟实现了电话录音的功能,运行时显示通道信息,程序首先要加载驱动程序,检查可用的通道数量,设置CardList列表扩展风格,然后显示使用的通道信息,包括了通道号,通道类型,状态,信息。并定义了电话的三种状态,即:内线、外线、悬空。在外线来电话状态,可以启动录音程序,摘机,开始录音,挂机停止录音,录音过程中判断电话是否挂机,双保险。
    2023-06-20 11:50:03下载
    积分:1
  • VC++ 图像压缩:将BMP文件压缩成JPG文件
    VC++ 图像压缩:将BMP文件压缩成JPG文件,在完成图片压缩的同时,转换图片的格式了,完成这些功能借助了一款外部的DLL文件,JpgDll.dll,因此在编译时请确保此文件存在。   操作方式也挺简单,如图所示,打开指定的BMP文件,然后单击“压缩”按钮,操作完成单击“保存”即可。
    2022-02-15 22:47:52下载
    积分:1
  • VC++ 6.0 定制分割条(分隔条)的样式及大小
    VC++ 6.0 定制分割条,也就是窗体的分隔条,将窗口分隔成若干个部分,用来显示不同的内容,该窗格视图为CStaticSplitWnd4View,该窗格大小不能通过拖动改变,不过我们可以通过菜单命令动态改变大小,窗格视图为CView2,该窗格大小不能通过拖动改变,窗格视图CView3和CView4都可以通过分隔条的拖动来改变视图大校   本示例中的分隔条经过了初级的美化,而且也向用户展示了,如何通过分割条来固定分栏窗格视图的大小,如何让分隔条不支持拖动等功能。
    2023-08-22 18:20:04下载
    积分:1
  • 2种方案的VC++ 界面换肤模块
    一个挺有用的VC++ 界面换肤模块,里面包括了了两种换肤方案,“方案一”文件夹中实现的是加载皮肤文件实现界面换肤,“方案二”文件夹中实现的是加载组件库实现界面换肤。   加载皮肤文件实现界面换肤:选择“界面修改”/“加载界面文件”命令,在打开的窗口中选择皮肤文件(.ski),即可更换界面皮肤.   另外还有加载组件库实现界面换肤,使用的是WndDll.dll,请下载源码具体测试吧。   加载窗体皮肤文件要注意:窗体各部分位图资源:   0,1,2: 分别为标题栏的左中右3部分   3,4,5: 分别为左,下,右边框   6,7,8,9,10,11: 为标题栏普通按钮和热点按钮   12,13: 表示左下角和右下角位图   14: 表示背景位图
    2022-03-23 09:54:11下载
    积分:1
  • VC++ 6.0 测试监听用户的鼠标事件
    VC++ 鼠标事件测试,本程序的功能:测试用户的鼠标事件,在客户区显示信息,获得当前客户区的矩形区域,程序可判断当前按下的是鼠标左键或右键,或是鼠标移动了,是否操作了鼠标滚轮,以及当前是否松开了鼠标右键或左键等事件。
    2023-08-14 22:50:02下载
    积分:1
  • vc 串口接收和发送数据的例子 Cs结构
    这是一个CS结构(包括了服务端和客户端)的串口调试程序,测试时,两者都要运行,本程序可让你熟悉串口的相关操作,在客户端和服务端,您都要定义以下几个参数:   m_Comm.SetCommPort(1); //设置串口   m_Comm.SetRThreshold(1); //设置收到多少个字符后触发OnComm事件   m_Comm.SetPortOpen(TRUE); //打开串口   源码中包括了两部分的代码,请下载后编译对应目录中的源码,先运行客户端。
    2022-02-06 06:48:34下载
    积分:1
  • VC6.0 对联合查询后的数据结果集进行排序
    VC6.0 对联合查询后的结果进行排序,对获得的记录集进行排序,这是个同样实用的功能,特别在一些中小企业的数据库系统中,尤其实用,对数据分析很有帮助。本例子中的排序主要是两种常用形式:升序排列和降序排列。最终的排序结果绑定于Datagridview数据显示控件中显示。
    2022-07-13 07:35:09下载
    积分:1
  • VC++ 实现屏幕取词功能的鼠标钩子
    VC++实现类似早期金山词霸屏幕取词功能的鼠标钩子HOOK,鼠标HOOK,钩子的实现例子附上源码,里面包括了两个源码:   Mousehook为类似金山词霸屏幕取词功能的鼠标钩子   TestMouseHook文件夹内为鼠标钩子生成DLL的源码例子   在调用这个钩子时,要把MouseHook文件夹内生成的DLL拷贝至TestMousehook的BIN目录下。   调用钩子时,要做相关设置:   #pragma data_seg("mydata")   HWND glhPrevTarWnd = NULL; //上次鼠标所指的窗口句柄   HWND glhDisplayWnd = NULL; //显示目标窗口标题编辑框的句柄   HHOOK glhHook = NULL; //安装的鼠标勾子句柄   HINSTANCE glhInstance = NULL; //DLL实例句柄   #pragma data_seg()   还有安装钩子并设定接收显示窗口句柄、设置显示目标窗口标题编辑框的句柄、得到光标(point)所在点的窗口句柄、得到整个窗口在屏幕上的矩形框位置等。
    2023-05-25 03:10:04下载
    积分:1
  • vc++ 动画启动、关闭窗口并添加位图背景
    vc++ 动画启动、关闭窗口并添加位图背景,加载位图,创建位图画刷,设置背景颜色模式为透明色,使用位图背景,且实现动画显示和关闭窗口,在窗口关闭时,同样以动画的方式结束。   void CMainFrame::OnClose()   {    AnimateWindow(GetSafeHwnd(),800,AW_CENTER|AW_HIDE);//在窗口关闭时,同样以动画的方式结束    CFrameWnd::OnClose();   }
    2022-01-25 22:51:13下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载