#pragma once
|
|
#include "CHImageControls/CHImageData.h"
|
|
#define IDR_LOAD_IMAGE 9000
|
#define IDR_SAVE_IMAGE 9001
|
#define IDR_ONLY_SAVE_IMAGE 9002
|
|
#define IDR_CENTER_LINE 9100
|
#define IDR_RULER 9101
|
#define IDR_ROI_RECT 9102
|
#define IDR_CLEAR_ROI_RECT 9103
|
#define IDR_SAVE_ROI_RECT 9104
|
|
#define IDR_VIEW_ORIGIN 9200
|
#define IDR_VIEW_FIT 9201
|
|
#define IDR_VIEW_COLOR 9300
|
#define IDR_VIEW_GRAY 9301
|
#define IDR_VIEW_RED 9302
|
#define IDR_VIEW_BLUE 9303
|
#define IDR_VIEW_GREEN 9304
|
|
|
// CDlgHistory 대화 상자입니다.
|
interface ICameraImageView2Parent
|
{
|
virtual void CIV2P_GetImagePathName(CString& strFilename) = 0;
|
virtual void CIV2P_ManualSimulation(CCHImageData* pImageData) = 0;
|
};
|
|
class CCameraImageView : public CWnd, public CCHImageData
|
{
|
DECLARE_DYNAMIC(CCameraImageView)
|
|
public:
|
double d_MatchingRate;
|
double d_FindScore;
|
CCameraImageView(CWnd *pParentWnd);
|
virtual ~CCameraImageView();
|
void SetCIV2P(ICameraImageView2Parent* pCIV2P) { m_pCIV2P = pCIV2P; }
|
|
BOOL GetViewImage(CCHImageData* pImageData);
|
BOOL GetOriginImage(CCHImageData* pImageData);
|
BOOL SetViewImage(CCHImageData* pImageData);
|
BOOL SetOriginImage(CCHImageData* pImageData);
|
BOOL SetOriginImage(int nWidth, int nHeight, int nChannels, int nWidthStep, const BYTE* pBuffer);
|
|
// getter
|
int GetScaleWidth(void);
|
int GetScaleHeight(void);
|
int GetHScrollPos(void);
|
int GetVScrollPos(void);
|
double GetWidthScale() { return m_dWidthScale; }
|
double GetHeightScale() { return m_dHeightScale; }
|
|
// setter
|
void SetDrawObject(BOOL bDraw);
|
void SetDrawMode(int nDrawMode);
|
void SetViewName(const CString strViewName);
|
void SetParentWnd(CWnd* pParentWnd);
|
void SetDrawCenterLine(BOOL bDraw);
|
void SetDrawRuler(BOOL bDraw);
|
|
void SetResolution(double dRes);
|
void SetRulerGab(double dGab);
|
|
BOOL LoadImage(const CString& strFilename);
|
|
protected:
|
void UpdateImageView(CDC *pDC);
|
void DrawCenterLine(CDC *pDC);
|
void DrawRuler(CDC *pDC);
|
void DrawViewName(CDC *pDC);
|
|
ICameraImageView2Parent* m_pCIV2P;
|
|
CRITICAL_SECTION m_csImageData;
|
CWnd *m_pParentWnd;
|
CString m_strViewName;
|
CCHImageData m_OriginImage;
|
|
// pre draw info
|
int m_nViewBand;
|
CRect m_rtClientRect;
|
int m_nScaleWidth;
|
int m_nScaleHeight;
|
double m_dWidthScale;
|
double m_dHeightScale;
|
|
// Scroll Pos
|
int m_nVScroll;
|
int m_nHScroll;
|
// Max Scroll Pos
|
int m_nMaxVScroll;
|
int m_nMaxHScroll;
|
|
// image draw
|
int m_nDrawMode;
|
BOOL m_bDrawViewName;
|
|
BOOL m_bDrawCenterLine;
|
BOOL m_bDrawRuler;
|
double m_dRulerGab;
|
double m_dResolution;
|
|
protected:
|
DECLARE_MESSAGE_MAP()
|
afx_msg void OnLoadImage();
|
afx_msg void OnSaveImage();
|
afx_msg void OnCenterLine();
|
afx_msg void OnRuler();
|
afx_msg void OnViewOrigin();
|
afx_msg void OnViewFit();
|
afx_msg void OnViewColor();
|
afx_msg void OnViewGray();
|
afx_msg void OnViewRed();
|
afx_msg void OnViewGreen();
|
afx_msg void OnViewBlue();
|
afx_msg void OnDestroy();
|
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnPaint();
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
|
afx_msg void OnRButtonDblClk(UINT nFlags, CPoint point);
|
|
public:
|
|
};
|
|
typedef std::vector<CCameraImageView*> VectorCameraImageView;
|
typedef std::vector<CCameraImageView*>::iterator VectorCameraImageViewIt;
|