Imageview1.cpp
上传用户:aqingfeng
上传日期:2014-03-25
资源大小:1839k
文件大小:3k
源码类别:

波变换

开发平台:

Visual C++

  1. // Imageview1.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "小波变换.h"
  5. #include "Imageview1.h"
  6. #include "小波变换Doc.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CImageview
  14. IMPLEMENT_DYNCREATE(CImageview, CView)
  15. CImageview::CImageview()
  16. {
  17. }
  18. CImageview::~CImageview()
  19. {
  20. }
  21. BOOL CImageview::PreCreateWindow(CREATESTRUCT& cs)
  22. {
  23. // TODO: Modify the Window class or styles here by modifying
  24. //  the CREATESTRUCT cs
  25. return CView::PreCreateWindow(cs);
  26. }
  27. BEGIN_MESSAGE_MAP(CImageview, CView)
  28. //{{AFX_MSG_MAP(CImageview)
  29. // NOTE - the ClassWizard will add and remove mapping macros here.
  30. //}}AFX_MSG_MAP
  31. ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
  32. ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
  33. ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CImageview drawing
  37. void CImageview::OnDraw(CDC* pDC)
  38. {
  39.     BeginWaitCursor();
  40. CMyDoc* pDoc = GetDocument();
  41. ASSERT_VALID(pDoc);
  42. // TODO: add draw code here
  43.     HDIB MulDIB=pDoc->m_hMulDIB;
  44. if (MulDIB!= NULL)
  45. {
  46. LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL)MulDIB);
  47. // 获取DIB宽度
  48. int cxDIB = (int) ::DIBWidth(lpDIB);
  49. // 获取DIB高度
  50. int cyDIB = (int) ::DIBHeight(lpDIB);
  51. ::GlobalUnlock((HGLOBAL)MulDIB);
  52. CRect rcDIB;
  53. rcDIB.top = rcDIB.left = 0;
  54. rcDIB.right = cxDIB;
  55. rcDIB.bottom = cyDIB;
  56. // 输出DIB
  57. ::PaintDIB(pDC->m_hDC, &rcDIB, pDoc->m_hMulDIB,
  58. &rcDIB, NULL);
  59. }
  60. }
  61. BOOL CImageview::OnPreparePrinting(CPrintInfo* pInfo)
  62. {
  63. // default preparation
  64. return DoPreparePrinting(pInfo);
  65. }
  66. void CImageview::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  67. {
  68. // TODO: add extra initialization before printing
  69. }
  70. void CImageview::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
  71. {
  72. // TODO: add cleanup after printing
  73. }
  74. /////////////////////////////////////////////////////////////////////////////
  75. // CImageview diagnostics
  76. #ifdef _DEBUG
  77. void CImageview::AssertValid() const
  78. {
  79. CView::AssertValid();
  80. }
  81. void CImageview::Dump(CDumpContext& dc) const
  82. {
  83. CView::Dump(dc);
  84. }
  85. CMyDoc* CImageview::GetDocument() // non-debug version is inline
  86. {
  87. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
  88. return (CMyDoc*)m_pDocument;
  89. }
  90. #endif //_DEBUG
  91. /////////////////////////////////////////////////////////////////////////////
  92. // CImageview message handlers