资源简介
VC++的经典图书《VC++图像处理程序设计》(杨淑莹)
电子书和书上的所有源码
代码片段和文件信息
#include “stdafx.h“
#include “cdib.h“
#include “windowsx.h“
#include “math.h“
#define WIDTHBYTES(bits) (((bits) + 31) / 32 * 4)
CDib::CDib()
{
size=0;
}
CDib::~CDib()
{
GlobalFreePtr(m_pBitmapInfo);
}
void CDib::LoadFile(const char* dibFileName)
{
strcpy(m_fileNamedibFileName);
CFile dibFile(m_fileName CFile::modeRead);
dibFile.Read((void*)&bitmapFileHeadersizeof(BITMAPFILEHEADER));
if (bitmapFileHeader.bfType == 0x4d42)
{
DWORD fileLength = dibFile.GetLength();
size = fileLength -sizeof(BITMAPFILEHEADER);
pDib =(BYTE*)GlobalAllocPtr(GMEM_MOVEABLE size);
dibFile.Read((void*)pDib size);
dibFile.Close();
m_pBitmapInfo = (BITMAPINFO*) pDib;
m_pBitmapInfoHeader = (BITMAPINFOHEADER*) pDib;
m_pRGB = (RGBQUAD*)(pDib +
m_pBitmapInfoHeader->biSize);
int m_numberOfColors = GetNumberOfColors();
if (m_pBitmapInfoHeader->biClrUsed == 0)
m_pBitmapInfoHeader->biClrUsed =
m_numberOfColors;
DWORD colorTableSize = m_numberOfColors *
sizeof(RGBQUAD);
m_pData = pDib + m_pBitmapInfoHeader->biSize
+ colorTableSize;
if (m_pRGB == (RGBQUAD*)m_pData) // No color table
m_pRGB = NULL;
m_pBitmapInfoHeader->biSizeImage = GetSize();
m_valid = TRUE;
}
else
{
m_valid = FALSE;
AfxMessageBox(“This isn‘t a bitmap file!“);
}
}
BOOL CDib::IsValid()
{
return m_valid;
}
char* CDib::GetFileName()
{
return m_fileName;
}
UINT CDib::GetWidth()
{
return (UINT) m_pBitmapInfoHeader->biWidth;
}
UINT CDib::GetHeight()
{
return (UINT) m_pBitmapInfoHeader->biHeight;
}
DWORD CDib::GetSize()
{
if (m_pBitmapInfoHeader->biSizeImage != 0)
return m_pBitmapInfoHeader->biSizeImage;
else
{
DWORD height = (DWORD) GetHeight();
DWORD width = (DWORD) GetWidth();
return height * width;
}
}
UINT CDib::GetNumberOfColors()
{
int numberOfColors;
if ((m_pBitmapInfoHeader->biClrUsed == 0) &&
(m_pBitmapInfoHeader->biBitCount < 9))
{
switch (m_pBitmapInfoHeader->biBitCount)
{
case 1: numberOfColors = 2; break;
case 4: numberOfColors = 16; break;
case 8: numberOfColors = 256;
}
}
else
numberOfColors = (int) m_pBitmapInfoHeader->biClrUsed;
return numberOfColors;
}
DWORD CDib::GetDibWidthBytes()
{
byBitCount=m_pBitmapInfoHeader->biBitCount;
LONG nWidth=m_pBitmapInfoHeader->biWidth;
dwWidthBytes = (DWORD)m_pBitmapInfoHeader->biWidth; //8-bits
if(byBitCount == 1) dwWidthBytes = (nWidth + 7) / 8;
else if(byBitCount == 4) dwWidthBytes = (nWidth + 1) / 2;
else if(byBitCount == 24) dwWidthBytes = 3 * nWidth ;
while((dwWidthBytes & 3) != 0)dwWidthBytes++;
return dwWidthBytes;
}
BYTE* CDib::GetData()
{
r
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-25 11:28 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\
文件 14466078 2009-08-24 17:23 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\VC++图像处理程序设计(杨淑莹).pdf
目录 0 2012-05-25 11:27 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\
文件 196662 2004-08-19 19:56 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\24为合成图.BMP
文件 196662 2004-08-19 19:55 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\24位原图.bmp
文件 196662 2004-08-19 19:55 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\24位背景图.bmp
文件 3890 2004-04-02 22:57 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\Cdib.cpp
文件 853 2004-04-02 22:57 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\Cdib.h
文件 3405 2004-09-20 17:15 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSPLIT.CLW
文件 579 1999-01-28 11:36 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSPLIT.DSW
文件 738304 2004-09-20 17:15 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSPLIT.NCB
文件 82944 2004-09-20 17:15 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSPLIT.OPT
文件 3350 2004-09-20 17:05 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSPLIT.PLG
文件 46828 2004-09-20 17:06 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSplit.aps
文件 5170 2004-04-02 23:01 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSplit.dsp
文件 12456 2004-09-20 17:06 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSplit.rc
文件 2038 2003-04-14 13:51 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSplitDoc.cpp
文件 1516 2003-04-14 13:50 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DSplitDoc.h
文件 6439 2003-04-02 10:18 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DYNSPLITTERWND.CPP
文件 1733 1998-03-10 17:19 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DYNSPLITTERWND.H
文件 4158 2003-04-01 08:51 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\Dsplit.cpp
文件 1366 2003-04-01 08:51 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\Dsplit.h
文件 3238 2003-04-02 16:45 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\Dsplitview.cpp
文件 1859 2003-04-01 08:27 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\Dsplitview.h
文件 11277 2004-08-24 10:22 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DynSplitView2.cpp
文件 1979 2003-04-14 22:01 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\DynSplitView2.h
文件 3550 2003-04-12 16:38 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\MAINFRM.CPP
文件 1691 2003-04-02 17:00 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\MAINFRM.H
文件 4035 1998-02-03 10:42 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\README.TXT
目录 0 2012-05-25 11:27 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\RES\
文件 1078 1998-02-03 11:13 51CTO下载-4VC++图像处理程序设计(杨淑莹)清晰版+源码\第10章图像合成\RES\DSPLIT.ICO
............此处省略688个文件信息
相关资源
- 遥感图像处理系统MFC
- vc++ 编程宝典(十年典藏版) 书后光
- VS2015MFC+Opencv2 打开图片及简单的图像
- vc++6.0下载199209
- VC++MFC封装的圆形按钮类
- Devc++5.11
- 数字图像处理与机器视觉 Visual C++与
- VC++6.0绿色版和番茄助手
- vc++ 条形码 二维码 识别
- Visual C++数字图像处理第二版光盘
- 何斌Visual C++数字图像处理第二版原书
- VC++ MFC 图书馆管理系统
- VC++视频采集资料
- Visual C++ MFC 源代码大全
- VC++游戏编程基础有书签
- 精通Visual C++数字图像处理典型算法及
- vc++企业员工考勤系统源码
- VC++图像处理程序设计
- vc++之mfc屏幕监控系统源代码
- vc++ 开发GIS系统
- MATLAB单双目标定程序(Opencv C++)
- VC++经典小游戏设计
- 微软vc++ BuildTools_2013
- VC++泡泡堂游戏设计及源码+文档
- C++中文离线手册修正版第二版
- 基于VC++ Socket 网络调试助手源码
- Visual C++实现MPEG/JPEG编解码技术代码集
- 《VC++网络编程开发与实战光盘》案例
- 杨淑莹 数字图像处理VC++ 源代码 全
- VC2010中文教学版
评论
共有 条评论