91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 11KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-09
  • 語言: C/C++
  • 標簽: dib??bitmap??CBitmap??MFC??

資源簡介

一個包裝了設備無關位圖(dib)類,包含一申明文件和實現文件,并有詳細的注釋。

資源截圖

代碼片段和文件信息

//?cdib.cpp

#include?“stdafx.h“
#include?
#include?“cdib.h“


#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif

//?聲明串行化過程
IMPLEMENT_SERIAL(CDib?Cobject?0);


/*************************************************************************
?*
?*?\函數名稱:
?*???CDib()
?*
?*?\輸入參數:
?*?無
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???構造函數
?*
?************************************************************************
?*/
CDib::CDib()
{
m_hFile??????=?NULL;
m_hBitmap????=?NULL;
m_hPalette???=?NULL;
m_nBmihAlloc?=?m_nImageAlloc?=?noAlloc;
Empty();
}


/*************************************************************************
?*
?*?\函數名稱:
?*???CDib()
?*
?*?\輸入參數:
?*?CSize size -?位圖尺寸
?*?int nBitCount -?像素素位數
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???構造函數
?*???根據給定的位圖尺寸和象素位數構造CDib對象,并對信息頭和調色板分配內存
?*???但沒有給位圖數據分配內存
?*
?************************************************************************/
CDib::CDib(CSize?size?int?nBitCount)
{
m_hFile??????=?NULL;
m_hBitmap????=?NULL;
m_hPalette???=?NULL;
m_nBmihAlloc?=?m_nImageAlloc?=?noAlloc;
Empty();

//?根據像素位數計算調色板尺寸
ComputePaletteSize(nBitCount);

//?分配DIB信息頭和調色板的內存
m_lpBMIH?=?(LPBITMAPINFOHEADER)?new?
char[sizeof(BITMAPINFOHEADER)?+?sizeof(RGBQUAD)?*?m_nColorTableEntries];

//?設置信息頭內存分配狀態
m_nBmihAlloc?=?crtAlloc;

//?設置信息頭中的信息
m_lpBMIH->biSize =?sizeof(BITMAPINFOHEADER);
m_lpBMIH->biWidth =?size.cx;
m_lpBMIH->biHeight =?size.cy;
m_lpBMIH->biPlanes =?1;
m_lpBMIH->biBitCount =?nBitCount;
m_lpBMIH->biCompression?=?BI_RGB;
m_lpBMIH->biSizeImage =?0;
m_lpBMIH->biXPelsPerMeter?=?0;
m_lpBMIH->biYPelsPerMeter?=?0;
m_lpBMIH->biClrUsed =?m_nColorTableEntries;
m_lpBMIH->biClrImportant=?m_nColorTableEntries;

//?計算圖象數據內存的大小,并設置此DIB的調色板的指針
ComputeMetrics();

//?將此DIB的調色板初始化為0
memset(m_lpvColorTable?0?sizeof(RGBQUAD)?*?m_nColorTableEntries);

//?暫時不分配圖象數據內存
m_lpImage?=?NULL;?
}


/*************************************************************************
?*
?*?\函數名稱:
?*???~CDib()
?*
?*?\輸入參數:
?*?無
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???析構函數,并釋放所有分配的DIB內存
?*
?************************************************************************
?*/
CDib::~CDib()
{
Empty();
}


/*************************************************************************
?*
?*?\函數名稱:
?*???GetDimensions()
?*
?*?\輸入參數:
?*???無
?*
?*?\返回值:
?*???CSize -?DIB的寬度和高度
?*
?*?\說明:
?*???返回以象素表示的DIB的寬度和高度
?*
?************************************************************************
?*/
CSize?CDib::GetDimensions()
{
if(m_lpBMIH?==?NULL)?return?CSize(0?0);
return?CSize((int)?m_lpBMIH->biWidth?(int)?m_lpBMIH->biHeight);
}


/*************************************************************************
?*
?*?\函數名稱:
?*???AttachMapFile()
?*
?*?\輸入參數:
?*???const char*?strPathname -?映射文件的路徑名
?*???BOOL bShare -?如果文件以共享形式打開,設置為TRUE
?* -?默認值為FALSE
?*
?*?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????38570??2009-06-06?17:11??CDib\cdib.cpp

?????文件???????3604??2009-06-06?08:07??CDib\cdib.h

?????目錄??????????0??2009-07-11?11:22??CDib

-----------?---------??----------?-----??----

????????????????42174????????????????????3


評論

共有 條評論