资源简介
提供了五个MFC数字图像处理范例,均可运行。
代码片段和文件信息
// MyDib.cpp: implementation of the CDib class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Dib.h“
#include
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
/*
* Dib文件头标志(字符串“BM“)
*/
#define DIB_MARKER ((WORD) (‘M‘ << 8) | ‘B‘)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDib::CDib()
{
InitMembers();
}
CDib::~CDib()
{
ClearMemory();
}
/*************************************************************************
* 函数名称:DrawDib()
* 参数说明:
* HDC hDC,输出设备DC
* LPRECT lpDCRect,绘制矩形区域
* HGLOBAL hDIB ,DIB对象的句柄
* LPRECT lpDIBRect ,DIB的输出区域
* CPalette* pPal,调色板的指针
* 函数类型:BOOL
* 函数功能:该函数主要用来绘制DIB对象
************************************************************************/
BOOL CDib::DrawDib(HDC hDC
LPRECT lpDCRect
HGLOBAL hDIB
LPRECT lpDIBRect
CPalette* pPal)
{
BOOL bSuccess=FALSE; // 重画成功标志
HPALETTE hOldPal=NULL; // 以前的调色板
if (hDIB == NULL)// 判断是否是有效的DIB对象
{
return FALSE;// 不是,则返回
}
lpdib = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);// 锁定DIB
lpDIBBits = GetBits(lpdib);// 找到DIB图象像素起始位置
if (pPal != NULL)// 获取DIB调色板,并选取到设备环境中它
{
HPALETTE hPal = (HPALETTE) pPal->m_hobject;
hOldPal = ::SelectPalette(hDC hPal TRUE);
}
::SetStretchBltMode(hDC COLORONCOLOR);// 设置显示模式
bSuccess = ::StretchDIBits(hDC // 设备环境句柄
lpDCRect->left //目标X坐标
lpDCRect->top // 目标Y坐标
GetRectWidth(lpDCRect) // 目标宽度
GetRectHeight(lpDCRect) // 目标高度
lpDIBRect->left // 源X坐标
lpDIBRect->top // 源Y坐标
GetRectWidth(lpDIBRect) // 源宽度
GetRectHeight(lpDIBRect) // 源高度
lpDIBBits // 指向dib像素的指针
(LPBITMAPINFO)lpdib // 指向位图信息结构的指针
DIB_RGB_COLORS // 使用的颜色数目
SRCCOPY); // 光栅操作类型
::GlobalUnlock(hDIB); // 解除锁定
if (hOldPal != NULL)// 恢复系统调色板
{
::SelectPalette(hDC hOldPal TRUE);
}
return bSuccess;
}
/*************************************************************************
* 函数名称:ConstructPalette(HGLOBAL hDIB CPalette* pPal)
* 函数参数:
* HGLOBAL hDIB,DIB对象的句柄
* CPalette* pPal,调色板的指针
* 函数类型:BOOL
* 函数说明:该函数按照DIB创建一个逻辑调色板
************************************************************************/
BOOL CDib::ConstructPalette(HGLOBAL hDIB CPalette* pPal)
{
HANDLE hLogPal;// 逻辑调色板的句柄
int iLoop;// 循环变量
BOOL bSuccess = FALSE;// 创建结果
if (hDIB == NULL)//判断是否是有效的DIB对象
{
return FALSE;// 返回FALSE
}
lpdib = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);// 锁定DI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 13811 2008-06-12 17:06 第16章 数字图像处理\实例380——创建DIB操作的类——CDib\Dib.cpp
文件 2252 2008-06-12 17:06 第16章 数字图像处理\实例380——创建DIB操作的类——CDib\Dib.h
文件 1538 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ChildFrm.cpp
文件 1397 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ChildFrm.h
文件 135262 2008-06-12 19:55 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\Debug\ShowSaveBMP.exe
文件 13811 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\Dib.cpp
文件 2252 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\Dib.h
文件 2528 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\MainFrm.cpp
文件 1542 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\MainFrm.h
文件 4901 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ReadMe.txt
文件 1078 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\res\ShowSaveBMP.ico
文件 403 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\res\ShowSaveBMP.rc2
文件 1078 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\res\ShowSaveBMPDOC.ico
文件 1078 2007-02-25 08:44 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\res\Toolbar.bmp
文件 499 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\Resource.h
文件 30019 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.aps
文件 2900 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.clw
文件 4568 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.cpp
文件 4903 2008-06-12 19:59 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.dsp
文件 547 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.dsw
文件 1411 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.h
文件 58368 2008-06-12 19:59 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.ncb
文件 53760 2008-06-12 19:59 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.opt
文件 256 2008-06-12 19:59 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.plg
文件 12031 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMP.rc
文件 4643 2008-06-12 19:55 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMPDOC.cpp
文件 2130 2008-06-12 19:40 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMPDOC.h
文件 3387 2008-06-12 19:55 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMPVIEW.cpp
文件 1971 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\ShowSaveBMPVIEW.h
文件 213 2008-06-12 17:06 第16章 数字图像处理\实例381——使用CDib类实现显示与保存BMP文件\ShowSaveBMP\StdAfx.cpp
............此处省略118个文件信息
- 上一篇:MFC_学生信息管理系统
- 下一篇:黄金矿工C语言
评论
共有 条评论