// kesheView.cpp : implementation of the CKesheView class
//
#include "stdafx.h"
#include "keshe.h"
#include "kesheDoc.h"
#include "kesheView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
bool c_bHist=false;
int c_hist[256];
int c_yuan[256];
CString filename;
/
// CKesheView
IMPLEMENT_DYNCREATE(CKesheView, CView)
BEGIN_MESSAGE_MAP(CKesheView, CView)
//{
{AFX_MSG_MAP(CKesheView)
ON_COMMAND(ID_GRAYENHANCEMENT_IMAGE, OnGrayenhancementImage)
ON_COMMAND(ID_OPEN_IMAGE, OnOpenImage)
ON_COMMAND(ID_ZFTDISPLAY_IMAGE, OnZftdisplayImage)
ON_COMMAND(ID_ZFTEQUALIZATION_IMAGE, OnZftequalizationImage)
ON_COMMAND(ID_BASRELIEF_IMAGE, OnBasreliefImage)
ON_COMMAND(ID_ATOMIZATION_IMAGE, OnAtomizationImage)
ON_COMMAND(ID_RECOVER_IMAGE, OnRecoverImage)
ON_COMMAND(ID_DIVISION_IMAGE, OnDivisionImage)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/
// CKesheView construction/destruction
CKesheView::CKesheView()
{
// TODO: add construction code here
}
CKesheView::~CKesheView()
{
}
BOOL CKesheView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/
// CKesheView drawing
void CKesheView::OnDraw(CDC* pDC)
{
CKesheDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if(c_dib.m_bLoaded==true) //判断是否加载图像
{
//获取图像宽和高
int nw=c_dib.GetDIBWidth();
int nh=c_dib.GetDIBHeight();
// 显示图像(具体的参数见CDIB类的该函数说明)
c_dib.ShowDIB(pDC,10,10,nw,nh,c_dib.m_pDIBData,c_dib.m_pBMI);
c_dib.ShowDIB(pDC,400,10,nw,nh,c_dib.m_pDumpDIBData,c_dib.m_pBMI);
}
if(c_bHist==true)
{
CString str;
int nh=c_dib.GetDIBHeight();
int i;
// 画坐标轴
// 绘制坐标轴(原始的)
pDC->MoveTo(410,nh+20); //是直方图的左上角坐标
// 垂直轴
pDC->LineTo(410,nh+200);//是直方图的左下角坐标
// 水平轴
pDC->LineTo(710,nh+200);//是直方图的右下角坐标
// 写X轴刻度值
str.Format("0");
pDC->TextOut(410, nh+200+10, str);