资源简介

本代码详细描述了c++图像处理,以mfc为框架,代码量较为详细,是深入学习图像处理的好例子。

资源截图

代码片段和文件信息

// AtomizeImage.cpp : implementation file
//

#include “stdafx.h“
#include “ImageManage.h“
#include “AtomizeImage.h“

#ifdef _DEBUG
//#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAtomizeImage dialog


CAtomizeImage::CAtomizeImage(CWnd* pParent /*=NULL*/)
: CDialog(CAtomizeImage::IDD pParent)
{
//{{AFX_DATA_INIT(CAtomizeImage)
m_Degree = 0;
//}}AFX_DATA_INIT
m_hBmp = NULL;
m_bLoaded = FALSE;
m_pBmpData = NULL;
m_pTmpData = NULL;
}


void CAtomizeImage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAtomizeImage)
DDX_Control(pDX IDC_SETDEGREE m_SetDegree);
DDX_Control(pDX IDC_PANEL m_Panel);
DDX_Control(pDX IDC_IMAGE m_Image);
DDX_Control(pDX IDC_BMPNAME m_BmpName);
DDX_Text(pDX IDC_DEGREE m_Degree);
DDV_MinMaxUInt(pDX m_Degree 1 50);
//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAtomizeImage CDialog)
//{{AFX_MSG_MAP(CAtomizeImage)
ON_WM_VSCROLL()
ON_WM_HSCROLL()
ON_WM_MOUSEWHEEL()
ON_BN_CLICKED(IDC_BT_LOAD OnBtLoad)
ON_BN_CLICKED(IDC_BT_SAVE OnBtSave)
ON_BN_CLICKED(IDC_BT_ATOMIZE OnBtAtomize)
ON_EN_CHANGE(IDC_DEGREE onchangeDegree)
ON_BN_CLICKED(IDC_VER OnVer)
ON_BN_CLICKED(IDC_HORIZE OnHorize)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAtomizeImage message handlers

void CAtomizeImage::OnOK() 
{

}

void CAtomizeImage::OnCancel() 
{
if (m_pBmpData != NULL)
{
delete [] m_pBmpData;
m_pBmpData = NULL;
}
if (m_pTmpData != NULL)
{
delete [] m_pTmpData;
m_pTmpData = NULL;
}

CDialog::OnCancel();
}

BOOL CAtomizeImage::OnInitDialog() 
{
CDialog::OnInitDialog();
m_ImagePanel.Create(IDD_IMAGEPANEL_DIALOGthis);

CRect rcClientrcframe;
m_ImagePanel.GetClientRect(rcClient);

m_Panel.GetClientRect(rcframe);
m_Panel.MapWindowPoints(thisrcframe);
m_ImagePanel.MoveWindow(rcframe);
m_ImagePanel.ShowWindow(SW_SHOW);

m_Image.SetParent(&m_ImagePanel);
CRect rcBmp;
m_Image.GetClientRect(rcBmp);
m_Image.MoveWindow(00rcBmp.Width()rcBmp.Height());
m_SetDegree.SetRange(150);

m_Degree = 1;
UpdateData(FALSE);
CButton * pButton = (CButton *)this->GetDlgItem(IDC_HORIZE);
if (pButton != NULL)
{
pButton->SetCheck(TRUE);
}

return TRUE;  
}

void CAtomizeImage::OnVScroll(UINT nSBCode UINT nPos CScrollBar* pScrollBar) 
{
m_ImagePanel.OnVScroll(nSBCode nPos pScrollBar);
CDialog::OnVScroll(nSBCode nPos pScrollBar);
}

void CAtomizeImage::OnHScroll(UINT nSBCode UINT nPos CScrollBar* pScrollBar) 
{
if (pScrollBar != NULL && pScrollBar->m_hWnd == m_SetDegree.m_hWnd)
{

m_Degree = m_SetDegree.GetPos();
UpdateData(FALSE);
OnBtAtomize();

}
else
{
m_ImagePanel.OnHScroll(nSBCode nPos pScrollBar);
}
CDialog:

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-03 16:53  vc图像处理\
     目录           0  2018-07-03 16:54  vc图像处理\201310271245774\
     目录           0  2018-07-03 16:57  vc图像处理\201310271245774\ImageManage\
     文件        7836  2011-02-19 11:30  vc图像处理\201310271245774\ImageManage\AtomizeImage.cpp
     文件        2041  2008-07-14 08:36  vc图像处理\201310271245774\ImageManage\AtomizeImage.h
     文件        8998  2005-04-14 17:54  vc图像处理\201310271245774\ImageManage\baseTsd.h
     文件         952  2008-07-12 12:53  vc图像处理\201310271245774\ImageManage\BmpCtrl.cpp
     文件        1174  2008-07-12 12:49  vc图像处理\201310271245774\ImageManage\BmpCtrl.h
     文件        5789  2011-02-19 11:32  vc图像处理\201310271245774\ImageManage\BmpToGif.cpp
     文件        1751  2008-07-14 08:37  vc图像处理\201310271245774\ImageManage\BmpToGif.h
     文件        6492  2008-08-18 18:15  vc图像处理\201310271245774\ImageManage\BmpToJPEG.cpp
     文件        1576  2008-07-14 08:38  vc图像处理\201310271245774\ImageManage\BmpToJPEG.h
     文件        5780  2008-07-14 08:39  vc图像处理\201310271245774\ImageManage\BmpToPng.cpp
     文件        1538  2008-07-14 08:39  vc图像处理\201310271245774\ImageManage\BmpToPng.h
     文件        7801  2011-02-19 11:38  vc图像处理\201310271245774\ImageManage\BrightDlg.cpp
     文件        2172  2011-02-19 11:24  vc图像处理\201310271245774\ImageManage\BrightDlg.h
     文件        6213  2011-02-19 13:26  vc图像处理\201310271245774\ImageManage\CarveDlg.cpp
     文件        1753  2008-06-27 08:39  vc图像处理\201310271245774\ImageManage\CarveDlg.h
     文件        4191  2008-08-19 14:09  vc图像处理\201310271245774\ImageManage\ClipDlg.cpp
     文件        1715  2008-07-10 16:15  vc图像处理\201310271245774\ImageManage\ClipDlg.h
     文件        1963  2008-07-12 13:50  vc图像处理\201310271245774\ImageManage\CustomBar.cpp
     文件        1367  2008-05-16 17:08  vc图像处理\201310271245774\ImageManage\CustomBar.h
     文件        9390  2011-02-19 13:55  vc图像处理\201310271245774\ImageManage\CustomMenu.cpp
     文件        2266  2008-05-16 16:46  vc图像处理\201310271245774\ImageManage\CustomMenu.h
     目录           0  2018-07-03 16:53  vc图像处理\201310271245774\ImageManage\Gdiplus\
     文件        8998  2005-04-14 17:54  vc图像处理\201310271245774\ImageManage\Gdiplus\baseTsd.h
     文件        3434  2000-12-15 16:58  vc图像处理\201310271245774\ImageManage\Gdiplus\GdiPlus.h
     文件      200480  2001-01-17 16:46  vc图像处理\201310271245774\ImageManage\Gdiplus\GdiPlus.lib
     文件         857  2000-11-12 23:18  vc图像处理\201310271245774\ImageManage\Gdiplus\GdiPlusbase.h
     文件       22331  2008-07-10 10:37  vc图像处理\201310271245774\ImageManage\Gdiplus\GdiPlusBitmap.h
     文件       30802  2001-01-17 16:41  vc图像处理\201310271245774\ImageManage\Gdiplus\GdiPlusBrush.h
............此处省略146个文件信息

评论

共有 条评论