亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bmpproc.h

?? 用數(shù)字圖像處理主要是為了修改圖形,改善圖像質(zhì)量,或是從圖像中提起有效信息,還有利用數(shù)字圖像處理可以對圖像進(jìn)行體積.
?? H
字號:
///////////////////////////////////////////////////////////////////////
/*
  目的:BMP位圖處理類。(定義文件)

  創(chuàng)建:張偉(SXZ)
  日期:2000.01
  版本:2.4

  SXZ software workgroup. No.200001
*/
///////////////////////////////////////////////////////////////////////


#ifndef __BMPPROC_H__
#define __BMPPROC_H__

/* 版本 */
#define BMPPROC_VERSION   0x240

// DIBSCANLINE_WIDTHBYTES 執(zhí)行DIB掃描行的DWORD對齊操作。宏參數(shù)“bits”是
// DIB信息結(jié)構(gòu)中成員biWidth和biBitCount的乘積。宏的結(jié)果是經(jīng)過對齊后一個(gè)
// 掃描行所占的字節(jié)數(shù)。
#define DIBSCANLINE_WIDTHBYTES(bits)    (((bits)+31)/32*4)
// DDBSCANLINE_WIDTHBYTES 執(zhí)行DDB掃描行的WORD對齊操作。宏參數(shù)“bits”是
// DDB信息結(jié)構(gòu)中成員bmWidth和bmBitCount的乘積。宏的結(jié)果是經(jīng)過對齊后一個(gè)
// 掃描行所占的字節(jié)數(shù)。
#define DDBSCANLINE_WIDTHBYTES(bits)    (((bits)+15)/16*2)

/* DIB 文件頭標(biāo)志("BM") */
#define DIB_HEADER_MARKER   ((WORD)('M'<<8)|'B')

// 常用顏色定義
#define CBPCOLOR_BLACK		((COLORREF)RGB(0,0,0))
#define CBPCOLOR_GRAY		((COLORREF)RGB(128,128,128))
#define CBPCOLOR_HIGHGRAY	((COLORREF)RGB(192,192,192))
#define CBPCOLOR_WHITE		((COLORREF)RGB(255,255,255))
#define CBPCOLOR_RED		((COLORREF)RGB(255,0,0))
#define CBPCOLOR_GREEN		((COLORREF)RGB(0,255,0))
#define CBPCOLOR_BLUE		((COLORREF)RGB(0,0,255))


// 注意:類CBmpProc是從CBitmap類公有繼承而來的,但最好不要使用類CBitmap
// 中的函數(shù)!如果使用了(尤其是讀入或創(chuàng)建型的函數(shù)),則就不要再使用CBmpProc
// 類中的函數(shù),以免混亂。
struct color_pair{
	int x;
	int y;
	double o_dis;
};
class CBmpProc : public CBitmap
{
public:
	CBmpProc();
	~CBmpProc();


	
	BOOL CalculateColor(CDC *dc,int isize);
	BOOL Create(int width, int height, WORD nBitCount, const void *lpBits=NULL);
	BOOL Create(CSize size, WORD nBitCount, const void *lpBits=NULL);
	BOOL CreateCompatible(int width, int height, CDC *pDC=NULL, const void *lpBits=NULL);

	BOOL CopyFromObject(CBmpProc& souBmp, CRect *pDesRect=NULL, CRect *pSouRect=NULL);
	BOOL CopyFromHbmp(HBITMAP souBmp, CRect *pDesRect=NULL, CRect *pSouRect=NULL);
	BOOL CopyTran(CBmpProc& souBmp, COLORREF crColour=CBPCOLOR_WHITE, 
			CRect *pDesRect=NULL, CRect *pSouRect=NULL, int mode=0);
	BOOL CopyTran(CBmpProc& souBmp, COLORREF crColour=CBPCOLOR_WHITE, 
			int x=0, int y=0, CRect *pSouRect=NULL, int mode=0);
	BOOL CopyTranCenter(CBmpProc& souBmp, CRect* crArea=NULL, 
			COLORREF crColour=CBPCOLOR_WHITE, int mode=0);
	BOOL CopyTranTile(CBmpProc& souBmp, CRect* crArea=NULL, 
			COLORREF crColour=CBPCOLOR_WHITE, int mode=0);

	BOOL LoadFromFile(LPCTSTR lpszPathName);
	BOOL LoadFromResourceID(UINT uID, HINSTANCE hInst);
	BOOL LoadFromResourceName(LPCTSTR lpResourceName, HINSTANCE hInst);
	BOOL LoadFromObject(CBmpProc& souBmp, CRect *pSouRect=NULL);
	BOOL LoadFromHbmp(HBITMAP sou, CRect *pSouRect=NULL);
	BOOL LoadFromClipboard();

	BOOL Save(LPCTSTR lpszNewFileName=NULL, WORD nBitsPerPixel=0);
	BOOL SaveToClipboard();

	BOOL Draw(CDC& dc, const CRect* rcDst=NULL, const CRect* rcSrc=NULL);
	BOOL DrawTile(CDC& dc, CRect* crArea);
	BOOL DrawCenter(CDC& dc, CRect* crArea);
	BOOL DrawTransparentInRect(CDC& dc, COLORREF crColour=CBPCOLOR_WHITE, 
			CRect* crDest=NULL, CRect* crSou=NULL, int mode=0);
	BOOL DrawTransparentInPoint(CDC& dc, COLORREF crColour=CBPCOLOR_WHITE, 
			int x=0, int y=0, CRect* crSou=NULL, int mode=0);
	BOOL DrawTranCenter(CDC& dc, CRect* crArea, COLORREF crColour=CBPCOLOR_WHITE, int mode=0);
	BOOL DrawTranTile(CDC& dc, CRect* crArea, COLORREF crColour=CBPCOLOR_WHITE, int mode=0);

	BOOL Attach(HBITMAP hBmp);
	HBITMAP Detach();
	void Clear();
	HRGN ExportRegion(COLORREF cTranColor=CBPCOLOR_WHITE);
	BOOL Fill(COLORREF crColour=CBPCOLOR_WHITE, CRect *crArea=NULL);
	BOOL ReSetColor(COLORREF oldcolr, COLORREF newcolr, CRect *crArea=NULL);
		   
	// 重載操作符函數(shù)
	CBmpProc& operator=(const CBmpProc& ds);
	CBmpProc& operator=(const HBITMAP sou);
	BOOL operator==(const CBmpProc& ds);
	BOOL operator!=(const CBmpProc& ds);
	operator HBITMAP() const { return (HBITMAP)m_hObject; };


	// 類數(shù)據(jù)訪問函數(shù)
	CSize Size() const;
	CRect Rect() const;
	int   Width() const;
	int   Height() const;
	int   ScanWidth() const;
	int   BitsPerPixel() const;

	BOOL  IsValid() const;

	//訪問類內(nèi)部數(shù)據(jù)的介面函數(shù)
	int   GetImageType() const;
	DWORD GetInAddInfo() const;
	const CString& GetFileName() const;
	BOOL  SetFileName(LPSTR pSou);
	int   GetObject(LPBITMAP lpBitmap) const;

	HANDLE GetHDib() const;
	WORD GetVersion() const;

#ifdef _DEBUG
	static DWORD GetObjectCount() {return m_ObjectCount;};
#endif

protected:
	// 助手函數(shù)(與類無關(guān))
	LPSTR FindDIBBits(LPSTR lpbi) const;
	DWORD DIBWidth(LPBITMAPINFOHEADER lpbi) const;
	DWORD DIBHeight(LPBITMAPINFOHEADER lpbi) const;
	WORD PaletteSize(LPBITMAPINFOHEADER lpbi) const;
	WORD DIBNumColors(LPBITMAPINFOHEADER lpbi) const;
	int	GetBitsPerPixel(LPBITMAPINFOHEADER lpbi) const;

	LPVOID CreateMemoryBlockFromHandle(HANDLE handle, DWORD dwCount=0);
	LPVOID CreateMemoryBlockFromAddress(LPVOID pSou, DWORD dwCount=0);

	BOOL IsValidBmpFile(CFile& file);
	LPBITMAPINFO GetBmpFileInfo(CFile& file);
	LPSTR GetBmpFileBits(CFile& file);
	BOOL IsValidDibFormat(WORD nBitsPerPixel);
	BOOL IsFileExist(LPCTSTR lpFileName);

	DWORD CalculateDIBFileSize(LPBITMAPINFOHEADER lpbi) const;
	DWORD CalculateDIBSize(LPBITMAPINFOHEADER lpbi) const;
	DWORD CalculateDIBitsOff(LPBITMAPINFOHEADER lpbi) const;
	DWORD CalculateDIBInfoSize(LPBITMAPINFOHEADER lpbi) const;
	DWORD CalculateDIBitsSize(LPBITMAPINFOHEADER lpbi) const;
	
	BOOL PasteAvailable();


	// 內(nèi)部服務(wù)函數(shù)(與類有關(guān))
	BOOL SaveBaseSpecifyFileName(LPCTSTR fn);
	BOOL SaveBaseSpecifyFormat(WORD nBitsPerPixel);
	LPBITMAPINFO GetSpecifyFormatInfo(WORD newBitCount=0);
	BOOL ClearAndSetData(int type, DWORD addinfo, LPCTSTR lpFn, LPBITMAPINFO pInfo, HBITMAP hBmp);

public:
	enum			// 位圖的初始來源類型:
	{
		IT_NULL,		// 無位圖類型
		IT_DISKFILE,	// 文件位圖
		IT_RESOURCE,	// 資源位圖
		IT_MEMORY,		// 內(nèi)存位圖
		IT_CLIP,		// 剪貼板位圖
		IT_CREATE		// 創(chuàng)建型位圖
	};
	int Color[4][4][256];
	int pair_count;
	struct color_pair pair[128];

private:
	// 數(shù)據(jù)成員
	BOOL m_mark;		// 類的有效標(biāo)志。(TRUE-本類中有位圖,
						// FALSE-本類中沒有位圖)
	int  m_type;		// 圖像類型,只能使用上面枚舉類型值
	DWORD   m_addInfo;	// 附加信息。
	CString	m_cFileName;// 文件路徑。
	LPBITMAPINFO  m_pInfo;	// DIB 信息結(jié)構(gòu)
	

#ifdef _DEBUG
	static DWORD m_ObjectCount;	// 本類構(gòu)造的實(shí)例目標(biāo)個(gè)數(shù),供調(diào)試使用
#endif
public:
	BOOL CalculateColorPair(int x, int y);
	BOOL SortColorPair(void);
private:
	bool m_bFinished;
};

#endif /*__BMPPROC_H__*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品视频小说1| 亚洲成av人在线观看| 久久国产三级精品| 9191国产精品| 日韩黄色片在线观看| 欧美一区二区视频在线观看2020| 亚洲午夜精品网| 91精品国产色综合久久| 麻豆精品在线视频| 国产午夜亚洲精品不卡| 成人免费高清在线| 亚洲高清免费观看| 日韩欧美成人午夜| 风间由美一区二区三区在线观看 | 欧美亚洲国产怡红院影院| 亚洲一区在线观看免费| 91精品中文字幕一区二区三区| 视频一区二区三区在线| 久久久久久久综合狠狠综合| 99久久国产免费看| 亚洲成人自拍偷拍| 国产色产综合产在线视频| 99久久伊人网影院| 日韩精品福利网| 久久夜色精品国产噜噜av| 99久久99久久精品免费看蜜桃| 亚洲国产一二三| 国产日韩亚洲欧美综合| 色综合天天综合色综合av | 欧美一区二区三区在线电影| 国产精品亚洲视频| 亚洲成av人在线观看| 精品国产免费人成电影在线观看四季| 国产不卡视频一区| 亚洲欧美经典视频| 欧美精品一区二区三区蜜桃视频| 成人精品鲁一区一区二区| 石原莉奈在线亚洲二区| 中文字幕成人av| 欧美一区二区三区在线观看视频| 丁香一区二区三区| 蜜乳av一区二区| 一区二区三区欧美日韩| 久久综合九色综合久久久精品综合 | 亚洲国产日韩a在线播放性色| 精品成人佐山爱一区二区| 色琪琪一区二区三区亚洲区| 久久99久久99小草精品免视看| 亚洲免费伊人电影| 国产亚洲成av人在线观看导航 | 99热这里都是精品| 国产一区二区在线观看免费| 日日欢夜夜爽一区| 伊人婷婷欧美激情| 中日韩av电影| 久久蜜臀中文字幕| 日韩欧美aaaaaa| 国产精品每日更新在线播放网址| 欧美亚洲愉拍一区二区| 91女神在线视频| 日韩中文字幕亚洲一区二区va在线 | 国产调教视频一区| 日韩欧美在线网站| 欧美日韩一区二区三区免费看| 成人h精品动漫一区二区三区| 免费日本视频一区| 日韩精品一级二级 | 欧美日韩aaa| 91猫先生在线| 91蜜桃在线免费视频| 成人18视频在线播放| 丰满少妇在线播放bd日韩电影| 激情综合色播五月| 经典三级视频一区| 国模无码大尺度一区二区三区| 青青草国产精品97视觉盛宴| 在线一区二区三区四区五区| 日本不卡一二三| 99re成人在线| 午夜久久电影网| 亚洲一区二区av在线| 亚洲精品五月天| 亚洲男人电影天堂| 亚洲男人的天堂在线观看| 国产精品欧美极品| 国产精品国产精品国产专区不片| 中文字幕欧美三区| 中文字幕一区二区三区四区| 中文字幕一区二区三区精华液| 亚洲三级理论片| 亚洲午夜在线视频| 蜜桃久久久久久久| 国产裸体歌舞团一区二区| 成熟亚洲日本毛茸茸凸凹| 成人精品鲁一区一区二区| 91网站视频在线观看| 色屁屁一区二区| 欧美久久高跟鞋激| 日韩美女视频在线| 国产三级精品在线| 中文字幕一区二区在线观看| 亚洲最色的网站| 亚洲自拍与偷拍| 日韩在线一区二区三区| 成人深夜视频在线观看| 精品成人私密视频| 久久五月婷婷丁香社区| 中文字幕乱码亚洲精品一区| 亚洲欧洲av在线| 午夜精品福利一区二区三区蜜桃| 日本va欧美va欧美va精品| 国产经典欧美精品| 色成人在线视频| 欧美大片在线观看一区二区| 日本一区二区三区免费乱视频 | 国产视频一区二区在线观看| 亚洲婷婷综合久久一本伊一区| 午夜视频一区二区| 国产在线播放一区二区三区| 99精品国产热久久91蜜凸| 91精品久久久久久久久99蜜臂| 久久综合精品国产一区二区三区| 中文字幕一区二区在线观看| 日本不卡的三区四区五区| 国产91在线|亚洲| 欧美日韩另类一区| 国产精品理论片| 久久国产三级精品| 欧美性感一区二区三区| 久久精品无码一区二区三区| 亚洲激情在线播放| 丁香网亚洲国际| 欧美一级xxx| 最新不卡av在线| 国产麻豆精品95视频| 精品视频在线免费观看| 国产精品三级视频| 美日韩一级片在线观看| 91免费在线视频观看| 精品国产亚洲在线| 偷拍日韩校园综合在线| 波多野结衣亚洲| 久久久99精品久久| 精品在线视频一区| 欧美性做爰猛烈叫床潮| 国产精品美女久久久久久久久久久| 日韩电影在线观看一区| 91九色最新地址| 中文字幕欧美国产| 精品制服美女丁香| 欧美一卡在线观看| 亚洲午夜精品一区二区三区他趣| 99久久精品免费看国产| 日本一区二区免费在线观看视频| 日本不卡不码高清免费观看| 欧美日韩在线免费视频| 亚洲美女屁股眼交3| 国产凹凸在线观看一区二区| 精品久久国产老人久久综合| 亚洲一级不卡视频| 一区二区三区日韩精品| 欧美亚洲国产一区二区三区va| 欧美性猛交xxxx乱大交退制版| 成人免费在线播放视频| 粉嫩嫩av羞羞动漫久久久| 久久久久久久久免费| 久久成人av少妇免费| 日韩亚洲欧美综合| 免费成人av在线播放| 4438x亚洲最大成人网| 麻豆国产欧美日韩综合精品二区 | 99精品国产热久久91蜜凸| 欧美激情一区二区三区在线| 国产乱一区二区| 欧美激情一二三区| 99麻豆久久久国产精品免费 | 成人永久看片免费视频天堂| 中文字幕一区二区三区在线播放| 亚洲成av人影院| 丰满放荡岳乱妇91ww| 国产日产欧美一区二区视频| 粉嫩av一区二区三区在线播放| 在线欧美日韩国产| 日韩精品一区二区三区中文不卡| 91精品久久久久久蜜臀| 欧美人伦禁忌dvd放荡欲情| 视频一区视频二区中文| 欧美熟乱第一页| 日本亚洲三级在线| 26uuu欧美| 成人天堂资源www在线| 亚洲欧美日韩国产综合| 欧美日韩免费在线视频| 奇米777欧美一区二区| 精品国产亚洲在线| www.欧美亚洲| 亚洲123区在线观看| 精品国产一区二区精华| 成人av在线影院| 天堂一区二区在线|