p align="left">//{{AFX_DATA(CBrightContDlg) enum { IDD = IDD_BRIGHT_CONT }; CSliderCtrlm_ctrlContrast; CSliderCtrlm_ctrlBrightness; CStringm_strBrightness; CStringm_strContrast; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBrightContDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CBrightContDlg) virtual BOOL OnInitDialog(); afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); virtual void OnOK(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_BRIGHTCONTDLG_H__310F8D78_02DE_4055_A8DD_609EFC475802__INCLUDED_) // ChildFrm.h : interface of the CChildFrame class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_) #define AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CChildFrame : public CMDIChildWnd { DECLARE_DYNCREATE(CChildFrame) public: CChildFrame(); // Attributes protected: CSplitterWnd m_wndSplitter; public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CChildFrame) public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); protected: virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); //}}AFX_VIRTUAL // Implementation public: virtual ~CChildFrame(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions protected: //{{AFX_MSG(CChildFrame) // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_) // Filter.h : interface of CFilter and derived classes ///////////////////////////////////////////////////////////////////////////// #ifndef _FILTER_INCLUDED #define _FILTER_INCLUDED class CRaster; // Базовый виртуальный класс class CFilter { protected: CRaster *m_pSourceBM; CRaster *m_pDestBM; public: // Устанавливает исходное и приемное изображения void SetBuffers(CRaster *pSource, CRaster *pDest=NULL) {m_pSourceBM=pSource;m_pDestBM=pDest;}; // Виртуальный метод преобразования пиксела // будет переопределен в производных классах virtual BOOL TransformPix(LONG x, LONG y){ return FALSE;}; }; // Базовый класс для точечных фильтров class CDotFilter: public CFilter { protected: // Таблицы преобразования для компонент цвета BYTE BGRTransTable[3][256]; public: // Метод преобразования пиксела BOOL TransformPix(LONG x, LONG y); }; // Яркость-контраст class CBrightCont: public CDotFilter { public: BOOL Init(int b_offset, int c_offset); }; // Инверсия цветов class CInvertColors: public CDotFilter { public: CInvertColors(); }; // Рельеф /*class CEmboss: public CDotFilter { public: BOOL TransformPix(LONG x, LONG y); };*/ // Пространственные (матричные) фильтры // Базовый класс class CMatrixFilter: public CFilter { protected: int m_rangX; // размер матрицы по X и Y int m_rangY; const int *m_pMatrix; // указатель на матрицу public: // Метод преобразования пиксела BOOL TransformPix(LONG x, LONG y); }; class CBlur: public CMatrixFilter { public: CBlur(); }; class CSharp: public CMatrixFilter { public: CSharp(); BOOL TransformPix(LONG x, LONG y); }; #endif // MainFrm.h : interface of the CMainFrame class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_) #define AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class CMainFrame : public CMDIFrameWnd { DECLARE_DYNAMIC(CMainFrame) public: CMainFrame(); // Attributes public: // Operations Public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMainFrame) virtual BOOL PreCreateWindow(CREATESTRUCT& cs); //}}AFX_VIRTUAL // Implementation public: virtual ~CMainFrame(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: // control bar embedded members CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; // Generated message map functions protected: //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_) // Raster.h : interface of CRaster class ///////////////////////////////////////////////////////////////////////////// #ifndef _RASTER_INCLUDED #define _RASTER_INCLUDED // макрос для определения количества байт в выровненной по DWORD строки пикселов в DIB // Width - длина строки в пикселах; BPP - бит на пиксел #define BYTESPERLINE(Width, BPP) ((WORD)((((DWORD)(Width) * \ (DWORD)(BPP) + 31) >> 5)) << 2) class CRaster { LPBITMAPINFOm_pBMI; //указатель на описание изображения PBYTEm_pData;//указатель на начало растровых данных public: CRaster(); ~CRaster(); void Clear(); //очистка памяти // Возвращает LPBITMAPINFO GetBMInfoPtr(){return m_pBMI;}//указатель на заголовок растра RGBQUAD* GetBMColorTabPtr();//указатель на таблицу цветов LONG GetBMWidth(); //ширину в пикселах; LONG GetBMHeight();//высоту в пикселах; BYTE* GetBMDataPtr(){return m_pData;};//указатель на растровые данные BYTE* GetPixPtr(LONG x, LONG y);//указатель на пиксел // Загружает из файла BOOL LoadBMP(CString FileName); // Выводит DIB на контекст pDC // x, y - позиция левого верхнего угла области назначения // cx, cy - размер области назначения // x0, y0 - позиция левого верхнего угла выводимой части изображения // cx0, cy0 - размер выводимой части изображения // str_mode - режим масштабирования // rop - растровая операция определяет способ наложения изображения void DrawBitmap(CDC *pDC, LONG x=0, LONG y=0, LONG cx=0, LONG cy=0, LONG x0=0, LONG y0=0, LONG cx0=0, LONG cy0=0, int str_mode=COLORONCOLOR, DWORD rop=SRCCOPY); // Выводит DIB на контекст pDC с позиции (x,y) в масштабе scale void DrawBitmap(CDC *pDC, LONG x, LONG y, double scale, int str_mode=COLORONCOLOR, DWORD rop=SRCCOPY); // Записывает BMP в файл BOOL SaveBMP(CString FileName); // Создает копию BOOL CreateCopy(CRaster *pOrg); // Создает растр заданного размера, совместимый с параметрами BITMAPINFO BOOL CreateCompatible(LPBITMAPINFO pBMI, LONG width=0, LONG height=0); // Возвращает гисторамму изображения BOOL GetHistogham(DWORD *pHist, int Range); }; #endif //{{NO_DEPENDENCIES}} // Microsoft Developer Studio generated include file. // Used by BMViewer.rc // #define IDD_ABOUTBOX 100 #define IDR_MAINFRAME 128 #define IDR_BMVIEWTYPE 129 #define IDD_HIST 130 #define IDD_BRIGHT_CONT 131 #define IDD_DENOISE 132 #define IDC_SLIDER_BRIGHTNESS 1001 #define IDC_STATIC_BRIGHTNESS 1002 #define IDC_SLIDER_CONTRAST 1003 #define IDC_SLIDER_HIST_B 1003 #define IDC_STATIC_CONTRAST 1004 #define IDC_SLIDER_HIST_T 1004 #define IDC_OFFSET_B_TXT 1005 #define IDC_OFFSET_T_TXT 1006 #define IDC_NOISE_SMOOTH 1008 #define IDC_NOISE_SHOW 1009 #define IDC_K 1011 #define IDC_SPIN_K 1012 #define IDC_HIST_VIEW 1014 #define ID_VIEW_HISTOGRAM 32771 #define ID_EDIT_HISTOGRAM 32772 #define ID_EDIT_BRIGHTNESSANDCONTRAST 32773 #define ID_EDIT_INVERTCOLORS 32774 #define ID_EDIT_BLUR 32775 #define ID_EDIT_SHARP 32776 #define ID_EDIT_CONTOUR 32777 #define ID_EDIT_EDITHALF 32778 #define ID_EDIT_HALF 32779 #define ID_EDIT_EMBOSS 32780 #define ID_EDIT_DENOISE 32781 #define ID_EDIT_STOP 32782 #define ID_VIEW_ZOOMIN 32792 #define ID_VIEW_ZOOMOUT 32793 #define ID_VIEW_STRETCHHALFTONE 32794 #define ID_VIEW_STRETCHCOLORONCOLOR 32795 #define ID__DFVGD 32796 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 133 #define _APS_NEXT_COMMAND_VALUE 32797 #define _APS_NEXT_CONTROL_VALUE 1015 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #if !defined(AFX_STDAFX_H__3471DB7C_3910_44C3_92EA_6D934D04BC94__INCLUDED_) #define AFX_STDAFX_H__3471DB7C_3910_44C3_92EA_6D934D04BC94__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN// Exclude rarely-used stuff from Windows headers #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdisp.h> // MFC Automation classes #include <afxdtctl.h>// MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h>// MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__3471DB7C_3910_44C3_92EA_6D934D04BC94__INCLUDED_)
Страницы: 1, 2, 3, 4, 5, 6
|