ShowEffect.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #if !defined(AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_)
  2. #define AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // ShowEffectDlg.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // ShowEffectDlg dialog
  10. #include <vector>
  11. using namespace std;
  12. #define RCARRARCOUNT 100
  13. class ShowEffectDlg : public CDialog
  14. {
  15. float m_tempscale;
  16. // 是否要重新加载PNG效果图;
  17. BOOL m_bLoadPNG;
  18. // 是否要重新加载JPG顾客相片;
  19. BOOL m_bLoadJPG;
  20. CArray<int,int>m_rcarray[RCARRARCOUNT]; // m_rcarray数组,用于记录PNG图片里的alpha色小于200的像素点坐标;
  21. // 当前被加载的PNG效果图;
  22. Bitmap *m_pImgPNG;
  23. // 当前被加载的PNG效果备份图;
  24. Bitmap *m_pImgPNGbake;
  25. // 当前被加载的顾客JPG相片;
  26. Image *m_pImgJPG;
  27. float m_fscale;
  28. CRect m_rcscreen;
  29. CPoint m_startpt;
  30. CPoint m_startpt2;
  31. // PNG效果图集合;
  32. CStringArray m_AryPNGImgpaths;
  33. // PNG效果图在List列表里的位置索引值;
  34. int m_nPNGIndex;
  35. // JPG顾客相片在List列表中的位置索引值;
  36. int m_nJPGIndex;
  37. Bitmap *m_pImgFinalShow;// m_pImgFinalShow:最终显示PNG效果图的Bimap对象(PNG+客人相片 合二为一的结果);
  38. CRect m_rc;
  39. CRect m_rcbak;
  40. // Construction
  41. public:
  42. void GetRgn(Bitmap *pBmpImage);
  43. // 选片界面中显示的相片集合;
  44. CStringArray *m_pPhotopatharray;
  45. void RcChange();
  46. void InitRc(Image *img);
  47. void MakeEffect();
  48. ShowEffectDlg(CWnd* pParent = NULL); // standard constructor
  49. vector<CString> m_vPNGFile;
  50. CImageList m_ImageListThumb; // image list holding the thumbnails
  51. bool m_bRunning; // Flag to whether thread is on running or not
  52. bool m_bTerminate; // Flag to Thread to be terminated
  53. unsigned int m_dwThreadID; // Thread ID
  54. HANDLE m_hThread, m_hEvent; // Thread and Event handle
  55. BOOL TerminateThread();
  56. vector<CString> m_vJPGFile;
  57. CImageList m_ImageListThumb2; // image list holding the thumbnails
  58. bool m_bRunning2; // Flag to whether thread is on running or not
  59. bool m_bTerminate2; // Flag to Thread to be terminated
  60. unsigned int m_dwThreadID2; // Thread ID
  61. HANDLE m_hThread2, m_hEvent2; // Thread and Event handle
  62. BOOL TerminateThread2();
  63. // Dialog Data
  64. //{{AFX_DATA(ShowEffectDlg)
  65. enum { IDD = IDD_DLGShowEffect };
  66. // JPG所用的List图列表;
  67. CListCtrl m_ListJPG;
  68. // PNG所用的List图列表;
  69. CListCtrl m_ListPNG;
  70. //}}AFX_DATA
  71. // Overrides
  72. // ClassWizard generated virtual function overrides
  73. //{{AFX_VIRTUAL(ShowEffectDlg)
  74. protected:
  75. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  76. //}}AFX_VIRTUAL
  77. // Implementation
  78. protected:
  79. // Generated message map functions
  80. //{{AFX_MSG(ShowEffectDlg)
  81. virtual BOOL OnInitDialog();
  82. afx_msg void OnDestroy();
  83. afx_msg void OnPaint();
  84. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  85. afx_msg void OnButton1();
  86. afx_msg void OnButton2();
  87. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  88. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  89. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  90. afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
  91. afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult);
  92. afx_msg void OnTimer(UINT nIDEvent);
  93. afx_msg void OnClickList2(NMHDR* pNMHDR, LRESULT* pResult);
  94. //}}AFX_MSG
  95. DECLARE_MESSAGE_MAP()
  96. };
  97. //{{AFX_INSERT_LOCATION}}
  98. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  99. #endif // !defined(AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_)