// ch1_1View.cpp : implementation of the CCh1_1View class
//
#include "stdafx.h"
#include "ch1_1.h"
#include "ch1_1Doc.h"
#include "ch1_1View.h"
#include "mainfrm.h"
#include "DlgIntensity.h"
#include "DlgLinerPara.h"
#include "DlgPointThre.h"
#include "DlgPointWin.h"
#include "DlgPointStre.h"
#include "DlgGeoTran.h"
#include "DlgGeoZoom.h"
#include "DlgGeoRota.h"
#include "DlgSmooth.h"
#include "DlgMidFilter.h"
#include "DlgSharpThre.h"
#include "DlgColor.h"
#include "ColorTable.h"
#include "cDlgMorphErosion.h"
#include "cDlgMorphDilation.h"
#include "cDlgMorphOpen.h"
#include "cDlgMorphClose.h"
#include "DlgHuffman.h"
#include "DlgShannon.h"
#include "DlgCodeGIF.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCh1_1View
IMPLEMENT_DYNCREATE(CCh1_1View, CScrollView)
BEGIN_MESSAGE_MAP(CCh1_1View, CScrollView)
//{{AFX_MSG_MAP(CCh1_1View)
ON_WM_ERASEBKGND()
ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
ON_UPDATE_COMMAND_UI(ID_EDIT_COPY, OnUpdateEditCopy)
ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, OnUpdateEditPaste)
ON_COMMAND(ID_GEOM_TRAN, OnGeomTran)
ON_COMMAND(ID_GEOM_MIRV, OnGeomMirv)
ON_COMMAND(ID_GEOM_MIRH, OnGeomMirh)
ON_COMMAND(ID_GEOM_ROTA, OnGeomRota)
ON_COMMAND(ID_GEOM_TRPO, OnGeomTrpo)
ON_COMMAND(ID_GEOM_ZOOM, OnGeomZoom)
ON_COMMAND(ID_POINT_INVERT, OnPointInvert)
ON_COMMAND(ID_POINT_EQUA, OnPointEqua)
ON_COMMAND(ID_POINT_LINER, OnPointLiner)
ON_COMMAND(ID_POINT_WIND, OnPointWind)
ON_COMMAND(ID_VIEW_INTENSITY, OnViewIntensity)
ON_COMMAND(ID_POINT_STRE, OnPointStre)
ON_COMMAND(ID_FREQ_FOUR, OnFreqFour)
ON_COMMAND(ID_FREQ_DCT, OnFreqDct)
ON_COMMAND(ID_POINT_THRE, OnPointThre)
ON_COMMAND(ID_ENHA_SMOOTH, OnEnhaSmooth)
ON_COMMAND(ID_ENHA_MidianF, OnENHAMidianF)
ON_COMMAND(ID_ENHA_SHARP, OnEnhaSharp)
ON_COMMAND(ID_ENHA_COLOR, OnEnhaColor)
ON_COMMAND(ID_FILE_256ToGray, OnFILE256ToGray)
ON_COMMAND(ID_ENHA_GRADSHARP, OnEnhaGradsharp)
ON_COMMAND(ID_FREQ_WALH, OnFreqWalh)
ON_COMMAND(ID_CODE_HUFFMAN, OnCodeHuffman)
ON_COMMAND(ID_CODE_RLE, OnCodeRLE)
ON_COMMAND(ID_CODE_IRLE, OnCodeIRLE)
ON_COMMAND(ID_CODE_JEPG, OnCodeJEPG)
ON_COMMAND(ID_CODE_IJEPG, OnCodeIJEPG)
ON_COMMAND(ID_CODE_SHANNON, OnCodeShannon)
ON_COMMAND(ID_MORPH_EROSION, OnMorphErosion)
ON_COMMAND(ID_MORPH_DILATION, OnMorphDilation)
ON_COMMAND(ID_MORPH_OPEN, OnMorphOpen)
ON_COMMAND(ID_MORPH_CLOSE, OnMorphClose)
ON_COMMAND(ID_MORPH_THINING, OnMorphThining)
ON_COMMAND(ID_EDGE_FILL, OnEdgeFill)
ON_COMMAND(ID_EDGE_GAUSS, OnEdgeGauss)
ON_COMMAND(ID_EDGE_HOUGH, OnEdgeHough)
ON_COMMAND(ID_EDGE_KIRSCH, OnEdgeKirsch)
ON_COMMAND(ID_EDGE_PREWITT, OnEdgePrewitt)
ON_COMMAND(ID_EDGE_ROBERT, OnEdgeRobert)
ON_COMMAND(ID_EDGE_SOBEL, OnEdgeSobel)
ON_COMMAND(ID_EDGE_TRACE, OnEdgeTrace)
ON_COMMAND(ID_DETECT_HPROJECTION, OnDetectHprojection)
ON_COMMAND(ID_DETECT_MINUS, OnDetectMinus)
ON_COMMAND(ID_DETECT_TEMPLATE, OnDetectTemplate)
ON_COMMAND(ID_DETECT_THRESHOLD, OnDetectThreshold)
ON_COMMAND(ID_DETECT_VPROJECTION, OnDetectVprojection)
ON_COMMAND(ID_RESTORE_BLUR, OnRestoreBlur)
ON_COMMAND(ID_RESTORE_INVERSE, OnRestoreInverse)
ON_COMMAND(ID_RESTORE_NOISEBLUR, OnRestoreNoiseblur)
ON_COMMAND(ID_RESTORE_RANDOMNOISE, OnRestoreRandomnoise)
ON_COMMAND(ID_RESTORE_SALTNOISE, OnRestoreSaltnoise)
ON_COMMAND(ID_RESTORE_WIENER, OnRestoreWiener)
ON_COMMAND(ID_EDGE_CONTOUR, OnEdgeContour)
ON_COMMAND(ID_CODE_LZW, OnCodeLzw)
ON_COMMAND(ID_CODE_ILZW, OnCodeIlzw)
ON_COMMAND(ID_EDGE_FILL2, OnEdgeFill2)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCh1_1View construction/destruction
CCh1_1View::CCh1_1View()
{
// TODO: add construction code here
}
CCh1_1View::~CCh1_1View()
{
}
BOOL CCh1_1View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CCh1_1View drawing
void CCh1_1View::OnDraw(CDC* pDC)
{
// 显示等待光标
BeginWaitCursor();
// 获取文档
CCh1_1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// 获取DIB
HDIB hDIB = pDoc->GetHDIB();
// 判断DIB是否为空
if (hDIB != NULL)
{
LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
// 获取DIB宽度
int cxDIB = (int) ::DIBWidth(lpDIB);
// 获取DIB高度
int cyDIB = (int) ::DIBHeight(lpDIB);
::GlobalUnlock((HGLOBAL) hDIB);
CRect rcDIB;
rcDIB.top = rcDIB.left = 0;
rcDIB.right = cxDIB;
rcDIB.bottom = cyDIB;
CRect rcDest;
// 判断是否是打印
if (pDC->IsPrinting())
{
// 是打印,计算输出图像的位置和大小,以便符合页面
// 获取打印页面的水平宽度(象素)
int cxPage = pDC->GetDeviceCaps(HORZRES);
// 获取打印页面的垂直高度(象素)
int cyPage = pDC->GetDeviceCaps(VERTRES);
// 获取打印机每英寸象素数
int cxInch = pDC->GetDeviceCaps(LOGPIXELSX);
int cyInch = pDC->GetDeviceCaps(LOGPIXELSY);
// 计算打印图像大小(缩放,根据页面宽度调整图像大小)
rcDest.top = rcDest.left = 0;
rcDest.bottom = (int)(((double)cyDIB * cxPage * cyInch)
/ ((double)cxDIB * cxInch));
rcDest.right = cxPage;
// 计算打印图像位置(垂直居中)
int temp = cyPage - (rcDest.bottom - rcDest.top);
rcDest.bottom += temp/2;
rcDest.top += temp/2;
}
else
// 非打印
{
// 不必缩放图像
rcDest = rcDIB;
}
// 输出DIB
::PaintDIB(pDC->m_hDC, &rcDest, pDoc->GetHDIB(),
&rcDIB, pDoc->GetDocPalette());
}
// 恢复正常光标
EndWaitCursor();
}
/////////////////////////////////////////////////////////////////////////////
// CCh1_1View printing
BOOL CCh1_1View::OnPreparePrinting(CPrintInfo* pInfo)
{
// 设置总页数为一。
pInfo->SetMaxPage(1);
return DoPreparePrinting(pInfo);
}
void CCh1_1View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CCh1_1View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CCh1_1View diagnostics
#ifdef _DEBUG
void CCh1_1View::AssertValid() const
{
CView::AssertValid();
}
void CCh1_1View::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CCh1_1Doc* CCh1_1View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCh1_1Doc)));
return (CCh1_1Doc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CCh1_1View message handlers
BOOL CCh1_1View::OnEraseBkgnd(CDC* pDC)
{
// 主要是为了设置子窗体默认的背景色
// 背景色由文档成员变量m_refColorBKG指定
// 获取文档
CCh1_1Doc* pDoc = GetDocument();
// 创建一个Brush
CBrush brush(pDoc->m_refColorBKG);
// 保存以前的Brush
CBrush* pOldBrush = pDC->SelectObject(&brush);
// 获取重绘区域
CRect rectClip;
pDC->GetClipBox(&rectClip);
// 重绘
pDC->PatBlt(rectClip.left, rectClip.top, rectClip.Width(), rectClip.Height(), PATCOPY);
// 恢复以前的Brush
pDC->SelectObject(pOldBrush);
// 返回
return TRUE;
}
LRESULT CCh1_1View::OnDoRealize(WPARAM wParam, LPARAM)
{
ASSERT(wParam != NULL);
/
没有合适的资源?快使用搜索试试~ 我知道了~
DPP.rar_正交 编码
共89个文件
h:39个
cpp:36个
ico:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2022-09-21
04:01:50
上传
评论
收藏 304KB RAR 举报
温馨提示
支持图像的几何,点变换以及图像分析,图像编码,正交变换,图像增强,图像复原,边缘轮廓处理等
资源推荐
资源详情
资源评论
收起资源包目录
DPP.rar (89个子文件)
www.pudn.com.txt 218B
数字图像处理源代码
DlgSharpThre.cpp 1KB
DlgIntensity.h 2KB
cdib.h 2KB
morph.cpp 24KB
GIFAPI.h 3KB
ch1_1View.cpp 94KB
FreTrans.cpp 17KB
DlgColor.cpp 2KB
DlgPointStre.h 2KB
Release
DlgGeoZoom.cpp 1KB
ColorTable.h 64KB
ch1_1.rc 42KB
ch1_1.ncb 945KB
res
ch1_1.ico 1KB
ch1_1.rc2 397B
Toolbar.bmp 958B
ch1_1Doc.ico 1KB
cDlgMorphClose.cpp 3KB
DlgIntensity.cpp 8KB
ch1_1.aps 50KB
restore.cpp 17KB
DlgHuffman.cpp 6KB
DlgLinerPara.cpp 9KB
DlgPointWin.h 2KB
DlgMidFilter.h 1KB
ch1_1.dsw 535B
DlgShannon.h 1KB
ch1_1Doc.h 2KB
DlgGeoRota.cpp 1KB
DlgPointWin.cpp 7KB
detect.cpp 14KB
ch1_1.h 1KB
DlgGeoTran.cpp 1KB
ChildFrm.cpp 2KB
edgecontour.cpp 38KB
DlgGeoTran.h 1KB
cDlgMorphOpen.cpp 3KB
DlgPointStre.cpp 9KB
restore.h 607B
TemplateTrans.cpp 11KB
cDlgMorphOpen.h 2KB
TemplateTrans.h 672B
morph.h 586B
DIBAPI.H 2KB
detect.h 581B
edgecontour.h 1008B
DlgCodeGIF.h 1KB
DlgHuffman.h 1KB
GeoTrans.cpp 28KB
cDlgMorphErosion.h 2KB
PointTrans.h 568B
ch1_1.clw 18KB
cDlgMorphClose.h 2KB
test.h 21KB
ch1_1Doc.cpp 8KB
ch1_1.rc.bak 41KB
FreTrans.h 769B
DlgGeoZoom.h 1KB
StdAfx.cpp 207B
MainFrm.cpp 3KB
DlgSmooth.cpp 7KB
resource.h 8KB
PointTrans.cpp 8KB
ch1_1.cpp 4KB
DlgMidFilter.cpp 3KB
ch1_1View.h 4KB
ch1_1.opt 51KB
MainFrm.h 2KB
ChildFrm.h 1KB
StdAfx.h 1KB
cDlgMorphDilation.h 2KB
DlgSmooth.h 2KB
ch1_1.plg 244B
DlgLinerPara.h 2KB
GeoTrans.h 846B
ch1_1.dsp 8KB
DIBAPI.CPP 28KB
cDlgMorphErosion.cpp 3KB
DlgCodeGIF.cpp 2KB
DlgSharpThre.h 1KB
cDlgMorphDilation.cpp 3KB
Debug
GIFAPI.CPP 38KB
cdib.cpp 16KB
DlgShannon.cpp 7KB
DlgPointThre.h 2KB
DlgColor.h 1KB
DlgPointThre.cpp 5KB
DlgGeoRota.h 1KB
共 89 条
- 1
资源评论
JonSco
- 粉丝: 72
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功