📄 pilty.cpp
字号:
// pilty.cpp : implementation file
//
#include "stdafx.h"
#include "test.h"
#include "pilty.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cpilty dialog
Cpilty::Cpilty(CWnd* pParent /*=NULL*/)
: CDialog(Cpilty::IDD, pParent)
{
//{{AFX_DATA_INIT(Cpilty)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_pBitmap=NULL;
}
void Cpilty::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cpilty)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cpilty, CDialog)
//{{AFX_MSG_MAP(Cpilty)
ON_BN_CLICKED(IDC_red, Onred)
ON_BN_CLICKED(IDC_green, Ongreen)
ON_BN_CLICKED(IDC_blue, Onblue)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cpilty message handlers
void Cpilty::Onred()
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
CClientDC dc(this);
CPoint point(20,300);
dc.LPtoDP(&point);
dc.SetViewportOrg(point);
dc.SetMapMode(MM_LOMETRIC);
dc.TextOut(2,880,"255");
dc.TextOut(0,0,"0");
dc.TextOut(820,0,"255");
// dc.SetMapMode(MM_TEXT);
// dc.TextOut(520,500,"红色直方图");
// dc.SetMapMode(MM_LOMETRIC);
dc.MoveTo(0,0);
dc.LineTo(0,900);
dc.LineTo(-9,885);
dc.MoveTo(0,900);
dc.LineTo(9,885);
dc.MoveTo(0,0);
dc.LineTo(900,0);
dc.LineTo(885,-9);
dc.MoveTo(900,0);
dc.LineTo(885,9);
CPen pen(PS_SOLID,1,RGB(255,0,0));
CPen *poldpen=dc.SelectObject(&pen);
int array[256],x=0;
int nWidth=m_pBitmap->m_pInfo->bmiHeader.biWidth;
int nHeight=m_pBitmap->m_pInfo->bmiHeader.biHeight;
int Bytes=WIDTHBYTE(nWidth*24);
for(int i=0;i<256;i++)
array[i]=0;
for(i=0;i<nHeight;i++)
for(int j=0;j<Bytes;j+=3)
{
array[m_pBitmap->m_pPixels[i*Bytes+j]]++;
}
for(i=0;i<256;i++)
{
dc.MoveTo(x,0);
dc.LineTo(x,60000*array[i]/m_pBitmap->m_nPixels);
x+=3;
}
}
void Cpilty::Ongreen()
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
CClientDC dc(this);
CPoint point(200,300);
dc.LPtoDP(&point);
dc.SetViewportOrg(point);
dc.SetMapMode(MM_LOMETRIC);
dc.TextOut(2,880,"255");
dc.TextOut(0,0,"0");
dc.TextOut(820,0,"255");
// dc.SetMapMode(MM_TEXT);
// dc.TextOut(520,500,"红色直方图");
// dc.SetMapMode(MM_LOMETRIC);
dc.MoveTo(0,0);
dc.LineTo(0,900);
dc.LineTo(-9,885);
dc.MoveTo(0,900);
dc.LineTo(9,885);
dc.MoveTo(0,0);
dc.LineTo(900,0);
dc.LineTo(885,-9);
dc.MoveTo(900,0);
dc.LineTo(885,9);
CPen pen(PS_SOLID,1,RGB(0,255,0));
CPen *poldpen=dc.SelectObject(&pen);
int array[256],x=0;
int nWidth=m_pBitmap->m_pInfo->bmiHeader.biWidth;
int nHeight=m_pBitmap->m_pInfo->bmiHeader.biHeight;
int Bytes=WIDTHBYTE(nWidth*24);
for(int i=0;i<256;i++)
array[i]=0;
for(i=0;i<nHeight;i++)
for(int j=0;j<Bytes;j+=3)
{
array[m_pBitmap->m_pPixels[i*Bytes+j+1]]++;
}
for(i=0;i<256;i++)
{
dc.MoveTo(x,0);
dc.LineTo(x,60000*array[i]/m_pBitmap->m_nPixels);
x+=3;
}
}
void Cpilty::Onblue()
{
// TODO: Add your control notification handler code here
// TODO: Add your control notification handler code here
CClientDC dc(this);
CPoint point(400,300);
dc.LPtoDP(&point);
dc.SetViewportOrg(point);
dc.SetMapMode(MM_LOMETRIC);
dc.TextOut(2,880,"255");
dc.TextOut(0,0,"0");
dc.TextOut(820,0,"255");
// dc.SetMapMode(MM_TEXT);
// dc.TextOut(520,500,"红色直方图");
// dc.SetMapMode(MM_LOMETRIC);
dc.MoveTo(0,0);
dc.LineTo(0,900);
dc.LineTo(-9,885);
dc.MoveTo(0,900);
dc.LineTo(9,885);
dc.MoveTo(0,0);
dc.LineTo(900,0);
dc.LineTo(885,-9);
dc.MoveTo(900,0);
dc.LineTo(885,9);
CPen pen(PS_SOLID,1,RGB(0,0,255));
CPen *poldpen=dc.SelectObject(&pen);
int array[256],x=0;
int nWidth=m_pBitmap->m_pInfo->bmiHeader.biWidth;
int nHeight=m_pBitmap->m_pInfo->bmiHeader.biHeight;
int Bytes=WIDTHBYTE(nWidth*24);
for(int i=0;i<256;i++)
array[i]=0;
for(i=0;i<nHeight;i++)
for(int j=0;j<Bytes;j+=3)
{
array[m_pBitmap->m_pPixels[i*Bytes+j+2]]++;
}
for(i=0;i<256;i++)
{
dc.MoveTo(x,0);
dc.LineTo(x,60000*array[i]/m_pBitmap->m_nPixels);
x+=3;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -