资源简介
图像马赛克、窗口切分 图像渐显 中间扩张 中间收缩
百叶窗特效 移动 交叉飞入

代码片段和文件信息
#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;
}
BYTE* CDib::GetData()
{
return m_pData;
}
RGBQUAD* CDib::GetRGB()
{
return m_pRGB;
}
BITMAPINFO* CDib::GetInfo()
{
return m_pBitmapInfo;
}
WORD CDib::PaletteSize(LPBYTE lpDIB)
{
return (DIBNumColors(lpDIB) * sizeof(RGBTRIPLE));
}
WORD CDib::DIBNumColors(LPBYTE lpDIB)
{
WORD wBitCount; // DIB bit count
wBitCount = ((LPBITMAPCOREHEADER)lpDIB)->bcBitCount;
switch (wBitCount)
{
case 1:
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3444 2003-04-09 10:14 第二章特效显示\Cdib.cpp
文件 785 2003-04-11 08:18 第二章特效显示\Cdib.h
文件 3959 2004-09-20 17:17 第二章特效显示\DSPLIT.CLW
文件 579 1999-01-28 11:36 第二章特效显示\DSPLIT.DSW
文件 541696 2004-09-20 17:17 第二章特效显示\DSPLIT.NCB
文件 2957 2004-09-20 16:59 第二章特效显示\DSPLIT.PLG
文件 48420 2004-09-20 16:59 第二章特效显示\DSplit.aps
文件 5290 2003-04-22 16:13 第二章特效显示\DSplit.dsp
文件 14034 2004-09-20 16:59 第二章特效显示\DSplit.rc
文件 2008 2003-04-01 08:45 第二章特效显示\DSplitDoc.cpp
文件 1503 2003-04-11 08:16 第二章特效显示\DSplitDoc.h
文件 6439 2003-04-02 10:18 第二章特效显示\DYNSPLITTERWND.CPP
文件 1733 1998-03-10 17:19 第二章特效显示\DYNSPLITTERWND.H
文件 997 2003-04-22 16:03 第二章特效显示\DlgArea.cpp
文件 1233 2003-04-22 16:03 第二章特效显示\DlgArea.h
文件 4158 2003-04-01 08:51 第二章特效显示\Dsplit.cpp
文件 1366 2003-04-01 08:51 第二章特效显示\Dsplit.h
文件 84992 2004-09-20 17:17 第二章特效显示\Dsplit.opt
文件 3238 2003-04-02 16:45 第二章特效显示\Dsplitview.cpp
文件 1859 2003-04-01 08:27 第二章特效显示\Dsplitview.h
文件 29992 2004-09-13 19:35 第二章特效显示\DynSplitView2.cpp
文件 2217 2003-04-27 10:05 第二章特效显示\DynSplitView2.h
文件 3454 2003-04-25 14:22 第二章特效显示\MainFrm.cpp
文件 1609 2003-04-25 14:22 第二章特效显示\MainFrm.h
文件 4035 1998-02-03 10:42 第二章特效显示\README.TXT
文件 216054 2004-09-06 18:02 第二章特效显示\RavMon.bmp
文件 204 1998-02-03 10:42 第二章特效显示\STDAFX.CPP
文件 928 1998-02-03 10:42 第二章特效显示\STDAFX.H
文件 252 2003-04-27 08:40 第二章特效显示\TeXiaoXianShiDib.cpp
文件 187 2003-04-27 08:40 第二章特效显示\TeXiaoXianShiDib.h
............此处省略29个文件信息
- 上一篇:2018年下半年软件设计师真题和答案
- 下一篇:GSM物理层结构的详细介绍
相关资源
- js鼠标经过选项卡
- css3绘制可爱卡通脸部表情特效
- js+css3猫头鹰眼睛跟随鼠标指针转动动
- Flash图片转场特效.rar
- CSS3彩色柱状阶梯波浪动画特效
- unity3d爆炸特效包
- js特效40套
- 特效素材资源
- unity20多种烟雾以及爆炸特效
- VS开发进阶源码---烟花特效的生日祝福
- Unity 粒子特效
- 酷炫关闭界面效果仿酷狗你值得拥有
- 超赞CSS3特效集合-28个
- 仿微信红包打开特效,3D图片翻转
-
openla
yers很多特效demo - CSS3 Animation圆点动画网页加载特效
- css3 animation transform鱼游动动画特效
- CSS3制作3D旋转科幻球体动画特效
- JS特效-浪漫烟花源码
- Unity 科幻 魔法 光圈 脉冲特效FT Puls
- unity 液体动画特效(包含血液,雨,
- Unity 多人坦克游戏含特效与声音,可
- Cocos2D游戏之旅六:流星、烟花、火焰
- Unity3d雨水特效资源包
- echarts+canvas中国地图点击省市区进入查
- 3D立体旋转相册.zip
- Snowify插件,unity下雪插件,特效
- Web课程设计——网站设计
- 久久晴天淘宝店铺装修装修软件最新
- shaderforge支持unity2018的源代码和插件
评论
共有 条评论