123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #if !defined(AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_)
- #define AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- // ShowEffectDlg.h : header file
- //
- /////////////////////////////////////////////////////////////////////////////
- // ShowEffectDlg dialog
- #include <vector>
- using namespace std;
- #define RCARRARCOUNT 100
- class ShowEffectDlg : public CDialog
- {
- float m_tempscale;
-
- // 是否要重新加载PNG效果图;
- BOOL m_bLoadPNG;
- // 是否要重新加载JPG顾客相片;
- BOOL m_bLoadJPG;
- CArray<int,int>m_rcarray[RCARRARCOUNT]; // m_rcarray数组,用于记录PNG图片里的alpha色小于200的像素点坐标;
- // 当前被加载的PNG效果图;
- Bitmap *m_pImgPNG;
- // 当前被加载的PNG效果备份图;
- Bitmap *m_pImgPNGbake;
- // 当前被加载的顾客JPG相片;
- Image *m_pImgJPG;
- float m_fscale;
- CRect m_rcscreen;
- CPoint m_startpt;
- CPoint m_startpt2;
- // PNG效果图集合;
- CStringArray m_AryPNGImgpaths;
- // PNG效果图在List列表里的位置索引值;
- int m_nPNGIndex;
- // JPG顾客相片在List列表中的位置索引值;
- int m_nJPGIndex;
- Bitmap *m_pImgFinalShow;// m_pImgFinalShow:最终显示PNG效果图的Bimap对象(PNG+客人相片 合二为一的结果);
- CRect m_rc;
- CRect m_rcbak;
- // Construction
- public:
- void GetRgn(Bitmap *pBmpImage);
- // 选片界面中显示的相片集合;
- CStringArray *m_pPhotopatharray;
- void RcChange();
- void InitRc(Image *img);
- void MakeEffect();
- ShowEffectDlg(CWnd* pParent = NULL); // standard constructor
- vector<CString> m_vPNGFile;
- CImageList m_ImageListThumb; // image list holding the thumbnails
- bool m_bRunning; // Flag to whether thread is on running or not
- bool m_bTerminate; // Flag to Thread to be terminated
- unsigned int m_dwThreadID; // Thread ID
- HANDLE m_hThread, m_hEvent; // Thread and Event handle
- BOOL TerminateThread();
- vector<CString> m_vJPGFile;
- CImageList m_ImageListThumb2; // image list holding the thumbnails
- bool m_bRunning2; // Flag to whether thread is on running or not
- bool m_bTerminate2; // Flag to Thread to be terminated
- unsigned int m_dwThreadID2; // Thread ID
- HANDLE m_hThread2, m_hEvent2; // Thread and Event handle
- BOOL TerminateThread2();
- // Dialog Data
- //{{AFX_DATA(ShowEffectDlg)
- enum { IDD = IDD_DLGShowEffect };
- // JPG所用的List图列表;
- CListCtrl m_ListJPG;
- // PNG所用的List图列表;
- CListCtrl m_ListPNG;
- //}}AFX_DATA
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(ShowEffectDlg)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
- // Implementation
- protected:
- // Generated message map functions
- //{{AFX_MSG(ShowEffectDlg)
- virtual BOOL OnInitDialog();
- afx_msg void OnDestroy();
- afx_msg void OnPaint();
- afx_msg BOOL OnEraseBkgnd(CDC* pDC);
- afx_msg void OnButton1();
- afx_msg void OnButton2();
- afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
- afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
- afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult);
- afx_msg void OnTimer(UINT nIDEvent);
- afx_msg void OnClickList2(NMHDR* pNMHDR, LRESULT* pResult);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_)
|