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

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

于 2022-03-09 发布 文件大小:5.20 kB
0 169
下载积分: 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++ 演示雷达工程数据的可视化与处理
    VC++综合实例源码,演示雷达工程数据的可视化与处理,这个源代码来自一本VC++书籍中,不知道现在是否还可以用,里面雷达测试文件,不过我没有调试成,源代码文件是比较完整的,大部分代码中都有注释,你可以了解一些关于雷达数据读娶界面标尺运用、鼠标操作控制、坐标的显示与控制、映射模式(像素)、鼠标位置标识、BMP格式重新排列数据、滚动窗口、内存控制等多个方面的操作技巧,是一个比较综合的VC++学习实例。
    2023-03-01 01:05:04下载
    积分:1
  • VC 6.0 获得驱动器序列号
    VC 6.0 获得驱动器序列号,本例子中可以指定驱动器分区,也就是大家说的D盘、E盘,每个磁盘分区的序列号,这个序列号标识ID分区后由系统自动指定,我们可编写以下代码实现此功能:   //获得实际存储驱动器号的字符串长度   dwNumBytesForDriveStrings=GetLogicalDriveStrings(0,NULL)*sizeof(TCHAR);   //如果字符串不为空,则表示有正常的驱动器存在   if (dwNumBytesForDriveStrings!=0) {    //分配字符串空间    hHeap=GetProcessHeap();    lp=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,    dwNumBytesForDriveStrings);    //获得标明所有驱动器的字符串    GetLogicalDriveStrings(HeapSize(hHeap,0,lp),lp);    //将驱动器一个个放到下拉框中    while (*lp!=0) {    Driver->AddString(lp);    lp=_tcschr(lp,0)+1;    }   }
    2022-02-06 01:57:21下载
    积分:1
  • VC++ 在TreeView树形控件中使用BMP背景位图
    VC++ 在TreeView树形控件中使用BMP背景位图,实现思路:操作采用贴图的方式,把标准的TREEVIEW窗口贴在底图上。从最终的表现形式上,可理解为,把一个Tree树形菜单控件显示于一张图片之上,图片当做背景来处理了。如演示截图所示的效果,具体的实现细节请大家参阅源代码。
    2022-09-26 22:00:03下载
    积分:1
  • VC++ 音乐播放器
    VC++ 音乐播放器 例子,支持播放列表 ,支持常规的播放控制,自制了界面,从这个播放器软件中,你可以学习到软件界面方面的编写技巧以及音乐播放方面的技巧,运行效果如下图所示。本源码对学习VC++软件编程有很好的借鉴作用。
    2022-05-20 10:54:09下载
    积分:1
  • VC++ 创建一个非模态对话框
    VC++ 创建一个非模态对话框,比较一下模态对话框,与其有何异同。以下是创建对话框的代码:   void CNonModeDlgDlg::Finish()   {    m_pChoice = NULL;    GetDlgItem(IDOK)->EnableWindow();   }   void CNonModeDlgDlg::OnOK()   {    if ( m_pChoice == NULL )    {    m_pChoice = new CChoiceDlg(this);    if ( m_pChoice->Create() == TRUE )    {    GetDlgItem(IDOK)->EnableWindow(FALSE);    }    }    else    {    m_pChoice->SetActiveWindow();    }   }
    2022-02-10 13:08:52下载
    积分:1
  • VC++ 设置位置断点跟踪程序
    VC++ 设置位置断点跟踪程序,利用随机产生的数组来测试断点跟踪的效果,具体的实现代码:   srand( (unsigned)time( NULL ) );//产生随机种子   int array[number];   CString str1,str2;   str1="原始顺序:";   for(int i=0;i  {    array[i]=rand();//设置条件断点    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,10,str1);//输出原始数组顺序   BubbleSort(array, 1, number);   str1="排序顺序:";   for( i=0;i  {    str2.Format("%d ",array[i]);    str1+=str2;   }   pDC->TextOut(20,30,str1);//输出排序后的数组顺序
    2022-03-21 21:04:24下载
    积分:1
  • VC++ 使用IN引入子查询限定查询范围
    VC++ 使用IN引入子查询限定查询范围的方法+源代码实例,用以查询在指定条件区间中的数据,比如具体到本例子中,查询收入在1000到3000之间的员工数据,用到了子查询的方法,通过本例子源码的学习,你可学习到VC++基本的数据库连接方法和in子查询的方法,当然子查询有些高级,本源码还算简单。
    2022-10-30 06:05:03下载
    积分:1
  • VC++ 仿Windows“画图”程序
    VC++ “画图”程序源代码,编译后的运行效果如演示截图所示。   这个画图程序其实是参照Windows自带的画图而编写的,功能和界面布局都十分相似,不过用VC++写出画图,说明你对VC++图像处理各方面的技巧已经掌握 ,因此学习研究本源码,有助于你提高VC++图像绘制、处理方面的技巧,VC++新手必看程序。   程序功能:选择画笔大孝画笔颜色、清除、保存等,还有一些几何图形绘制工具比如圆形、椭圆、矩形工具等供使用。
    2022-03-20 01:18:01下载
    积分:1
  • VC++ MDI多文档位图的复制和粘贴功能实现
    多文档(MDI):实现在多个文档中位图的复制和粘贴操作,使用说明:打开一个图像,使用“编辑”菜单中的“复制”和“粘贴”对图像进行操作,清除剪切板的内容,拷贝DIB!   CMDICopyBitmapDoc* pDoc = GetDocument();   pDoc->ReplaceHDIB(hNewDIB); // 释放旧的DIB   pDoc->InitDIBData(); // 建立新的调色板及尺寸   pDoc->SetModifiedFlag(TRUE);   SetScrollSizes(MM_TEXT, pDoc->GetDocSize());   OnRealizePal((WPARAM)m_hWnd,0); // 实现新的调色板   pDoc->UpdateAllViews(NULL);
    2022-01-25 22:15:31下载
    积分:1
  • 又一个简单的VC++ 定时关机功能实现
    又一个简单的VC++ 定时关机功能实现,程序运行后屏蔽最大化,将最小化重定向至隐藏窗口,在Windows托盘处显示图标,双击该图标可调用出定时关机设置窗口。具体实现定时关机功能的代码如下:   // 将图标放入系统托盘    TrayNotifyMsg(NIM_ADD, IDR_MAINFRAME, "定时关机");    // 初始化关机时间为23点.    SYSTEMTIME systime;    ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_TIME))->GetTime(&systime);    systime.wHour = 23;    systime.wMinute = 0;    systime.wSecond = 0;    ((CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_TIME))->SetTime(&systime);    // 设定定时器    SetTimer(1, 1000, NULL);    // 显示当前的系统时间    ShowCurrentTime();    return TRUE; // return TRUE unless you set the focus to a control   }
    2022-02-02 22:49:18下载
    积分:1
  • 696516资源总数
  • 106409会员总数
  • 8今日下载