1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #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;
- Bitmap *m_pImagebak;
- BOOL m_bLoadEffect;
- BOOL m_bLoadPhoto;
- CArray<int,int>m_rcarray[RCARRARCOUNT]; // m_rcarray数组,用于记录PNG图片里的alpha色小于200的像素点坐标;
- Bitmap *m_pImage;
- Image *m_pPhoto;
- float m_fscale;
- CRect m_rcscreen;
- CPoint m_startpt;
- CPoint m_startpt2;
- CStringArray m_effectpatharray;
- int m_effectpos;
- int m_photopos;
- Bitmap *m_pbmp;// m_pbmp:最终显示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_vFileName;
- 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_vFileName2;
- 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 };
- CListCtrl m_List2;
- CListCtrl m_List1;
- //}}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_)
|