dib.h
来自「一个非常全的vc编程的原程序代码是关于图像处理的!」· C头文件 代码 · 共 160 行
H
160 行
// Dib.h: interface for the CDib class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DIB_H__C8D53620_91A3_11D4_9263_000021C9B3C5__INCLUDED_)
#define AFX_DIB_H__C8D53620_91A3_11D4_9263_000021C9B3C5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "MACRO.h"
class CDib : public CObject
{
protected:
DECLARE_SERIAL(CDib)
public:
CDib();
virtual ~CDib();
//{{AFX_VIRTUAL(CViewDIBDoc)
public:
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
//public member function
public:
BOOL Create(DWORD dwWidth,DWORD dwHeight);
BOOL Create(DWORD dwWidth,DWORD dwHeight,WORD wBitCount);
BOOL Create(LPBYTE lpDib);
BOOL Create(LPBYTE lpDib,WORD wBitCount);
BOOL Create(HBITMAP hBitmap);
BOOL Create(HBITMAP hBitmap,WORD wBitCount);
BOOL Create(HBITMAP hBitmap,HPALETTE hPalette);
BOOL Create(HBITMAP hBitmap,HPALETTE hPalette,WORD wBitCount);
BOOL Create(CRect rcScreen);
BOOL Create(HWND hWnd,WORD fPrintArea);
BOOL Create(HWND hWnd,CRect rcClientArea);
//attach handle
BOOL Attach(HDIB hDib);
//load/save;
BOOL Load(UINT uIds,LPCTSTR lpszDibType);
BOOL Load(LPCTSTR lpszDibRes,LPCTSTR lpszDibType);
BOOL Load(LPCTSTR lpszDibFile);
BOOL Save(LPCTSTR lpszDibFile);
BOOL Read(CFile * pFile);
BOOL Write(CFile * pFile);
//destroy
void Destroy();
HDIB DeTach();
//display
BOOL Display(CDC * pDC,int xDest,int yDest,int nWidthDest,
int nHeightDest,int xScr,int yScr,DWORD dwRop=SRCCOPY);
BOOL Display(CDC * pDC,int xDest,int yDest,int nWidthDest,
int nHeightDest,int xScr,int yScr,int nWidthScr,int nHeightScr,
DWORD dwRop=SRCCOPY);
BOOL Display(CDC * pDC,int x,int y,DWORD dwRop=SRCCOPY);
BOOL Display(CDC * pDC,CRect rcDest,CRect rcSrc,DWORD dwRop=SRCCOPY);
BOOL DisplayPal(CDC * pDC,CRect rc);
//DC for modify dib
CDC * BeginPaint(CDC * pDC);
void EndPaint();
//ddb and palette
BOOL BuildBitmap();
BOOL BuildPalette();
//attributes;
BOOL IsEmpty();
DWORD GetCompression();
WORD GetBitCount();
LONG GetWidth();
LONG GetHeight();
long GetXPelsPerMeter();
long GetYPelsPerMeter();
LONG GetWidthBytes();
WORD GetColorNumber();
WORD GetPaletteSize();
CBitmap* GetBitmap();
CPalette* GetPalette();
HANDLE GetHandle();
LPBYTE GetBitsPtr();
COLORREF GetPixel(LONG x,LONG y);
LONG GetPixelOffset(LONG x,LONG y);
BOOL ConvertFormat(WORD wBitCount);
//private member function;
private:
BOOL UpdateInternal();
//public member data;
public:
BOOL HoughCircleDetect(int cirnum);
BOOL HoughLineDetect(int linenum);
BOOL IDCT(CString FileName);
BOOL DCT(CString FileName);
BOOL ModifyWH();
BOOL DFTPhase();
BOOL DFTMagnitude();
BOOL GeometricCorrect(POINT point1,POINT point2,POINT point3,POINT point4);
BOOL PerspectiveTrans(int r,int theta,int fai,int f);
BOOL CannyEdgeDetect();
BOOL ZoomOut();
BOOL ZoomIn();
BOOL Or(CString FileName);
BOOL Add(CString FileName);
BOOL Diff(CString FileName);
BOOL Skeletonize();
BOOL Thinning();
BOOL EdgeDetect();
BOOL SUSANEdgeDetect();
BOOL Create();
BOOL IsBinary();
BOOL Close();
BOOL Open();
BOOL Dilation();
BOOL Erosion();
BOOL MedianFilter();
BOOL ChangeCanvasSize(int nWidth,int nHeight,int nPosition);
BOOL Affine(int a,int b,int c,int theta,int mode);
BOOL Blur();
BOOL SobelEdgeDetect(int);
BOOL LaplaceEdgeDetect(int);
BOOL EdgeEnhance2(int);
BOOL EdgeEnhance1(int);
BOOL HighPass3();
BOOL HighPass2();
BOOL HighPass1();
BOOL LowPass3();
BOOL LowPass2();
BOOL LowPass1();
BOOL Octonary();
BOOL Quartic();
BOOL LogTrans();
BOOL LnTrans();
BOOL ChangeContrast(double);
BOOL ChangeBrightness(int);
BOOL PseudoColor();
BOOL HistoEquivalize();
BOOL AutoBinary();
BOOL RotateCertainAngle(int);
BOOL ColorToGray();
BOOL RevertColor();
BOOL SelfDiff();
BOOL FlipVert();
BOOL FlipHorz();
BOOL Rotate270();
BOOL Rotate90();
BOOL Rotate180();
HDIB m_hDib;
HBITMAP m_hBitmap; //DIBSECTION
CPalette* m_pPalette;
CBitmap* m_pBitmap;
//private member data;
private:
CDC* m_pMemDC;
CBitmap* m_pBitmapTmp;
CPalette* m_pPaletteTmp;
};
#endif // !defined(AFX_DIB_H__C8D53620_91A3_11D4_9263_000021C9B3C5__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?