📄 viewdibview.cpp
字号:
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectMovevsplit()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_VSPLITMOVE;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectMovevsplit(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectScandown(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectScanhsplit()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_HSPLITSCAN;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectScanhsplit(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectScanleft()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_SCANLEFT;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectScanleft(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectScanright()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_SCANRIGHT;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectScanright(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectScanup()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_SCANUP;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectScanup(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectScanvsplit()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_VSPLITSCAN;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectScanvsplit(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectVblind()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_VBLIND;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectVblind(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnEffectVraster()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_nEffect =EFFECT_VRASTER;
EffectDisplay(pDoc->m_nEffect);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectVraster(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::EffectDisplay(int nEffect)
{
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CClientDC dc(this);
CPoint pt=GetScrollPosition();
if(nEffect==EFFECT_FADE)
{
pDoc->m_pDib ->Clear (nEffect,&dc,-pt.x,-pt.y ,16,50);
pDoc->m_pDib ->Display (nEffect,&dc,-pt.x,-pt.y,16,50);
}
else if (nEffect==EFFECT_HBLIND||nEffect==EFFECT_VBLIND)
{
pDoc->m_pDib ->Clear (nEffect,&dc,-pt.x,-pt.y ,8,70);
pDoc->m_pDib ->Display (nEffect,&dc,-pt.x,-pt.y,8,70);
}
else if (nEffect==EFFECT_HRASTER||nEffect==EFFECT_VRASTER||
nEffect==EFFECT_MOSIAC)
{
pDoc->m_pDib ->Clear (nEffect,&dc,-pt.x,-pt.y ,16,1);
pDoc->m_pDib ->Display (nEffect,&dc,-pt.x,-pt.y,16,1);
}
else
{
pDoc->m_pDib ->Clear (nEffect,&dc,-pt.x,-pt.y ,1,5);
pDoc->m_pDib ->Display (nEffect,&dc,-pt.x,-pt.y,1,5);
}
}
void CViewDIBView::OnEffectTrans()
{
//fffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CClientDC dc(this);
CPoint pt=GetScrollPosition();
pDoc->m_pDib ->DisplayTransparent (&dc,pt.x,pt.y,RGB(0,255,255));
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnUpdateEffectTrans(CCmdUI* pCmdUI)
{
//fffffffffffffffffffffffffffffffffffffffffffffffffffffffff
pCmdUI->Enable (!GetDocument()->m_pDib ->IsEmpty ());
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricCut()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString strWidth,strHeight;
strWidth.Format ("%d",pDoc->m_pDib ->GetWidth ());
strHeight.Format ("%d",pDoc->m_pDib ->GetHeight ());
CSeleCutRectDlg dlg;
dlg.m_width =strWidth;
dlg.m_height=strHeight;
dlg.m_left =0;
dlg.m_right =atoi(strWidth);
dlg.m_top=0;
dlg.m_bottom =atoi(strHeight);
if(dlg.DoModal ()==IDOK)
{
CRect rc;
rc.left =dlg.m_left ;
rc.right =dlg.m_right ;
rc.top =dlg.m_top ;
rc.bottom =dlg.m_bottom ;
pDoc->m_pDib ->Cut (rc);
CDC *pDC=GetDC();
OnDraw(pDC);
}
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricCrop()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString strWidth,strHeight;
strWidth.Format ("%d",pDoc->m_pDib ->GetWidth ());
strHeight.Format ("%d",pDoc->m_pDib ->GetHeight ());
CSeleCutRectDlg dlg;
dlg.m_width =strWidth;
dlg.m_height=strHeight;
dlg.m_left =0;
dlg.m_right =atoi(strWidth);
dlg.m_top=0;
dlg.m_bottom =atoi(strHeight);
if(dlg.DoModal ()==IDOK)
{
CRect rc;
rc.left =dlg.m_left ;
rc.right =dlg.m_right ;
rc.top =dlg.m_top ;
rc.bottom =dlg.m_bottom ;
pDoc->m_pDib ->Crop (rc);
CDC *pDC=GetDC();
OnDraw(pDC);
}
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricMerge()
{
//fffffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
static char BASED_CODE szFilter[] = "Bitmap Files (*.bmp)|*.bmp";
CString csName;
CFileDialog dlg(TRUE,".bmp",NULL,NULL,szFilter,this);
if (dlg.DoModal ()==IDOK)
{
csName=dlg.GetFileName ();
CDib dibNew;
CFile fNew(csName,CFile::modeRead );
dibNew.Read (&fNew);
POINT pt;
pt.x=0;
pt.y=0;
pDoc->m_pDib ->Merge (dibNew.m_hDib,pt);
CDC *pDC=GetDC();
OnDraw(pDC);
}
}
void CViewDIBView::OnGeometricZoom()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString strWidth,strHeight;
strWidth.Format ("%d",pDoc->m_pDib ->GetWidth ());
strHeight.Format ("%d",pDoc->m_pDib ->GetHeight ());
CSeleZoomSizeDlg dlg;
dlg.m_strW =strWidth;
dlg.m_strH=strHeight;
if(dlg.DoModal ()==IDOK)
{
int nW =dlg.m_nWidth ;
int nH =dlg.m_nHeight ;
pDoc->m_pDib ->Zoom (nW,nH);
CDC *pDC=GetDC();
OnDraw(pDC);
}
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricCanvas()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString strWidth,strHeight;
strWidth.Format ("%d",pDoc->m_pDib ->GetWidth ());
strHeight.Format ("%d",pDoc->m_pDib ->GetHeight ());
CSeleCanvasDlg dlg;
dlg.m_width =strWidth;
dlg.m_height=strHeight;
dlg.m_nHeight=atoi(dlg.m_height);
dlg.m_nWidth=atoi(dlg.m_width);
if(dlg.DoModal ()==IDOK)
{
int nW =dlg.m_nWidth ;
int nH =dlg.m_nHeight ;
int nPos;
CString strPos=dlg.m_pos ;
if (strcmp(strPos,"左上角")==0)
nPos=LEFT_UP;
else if (strcmp(strPos,"中上")==0)
nPos=CENTER_UP;
else if (strcmp(strPos,"右上角")==0)
nPos=RIGHT_UP;
else if (strcmp(strPos,"左中")==0)
nPos=LEFT_CENTER;
else if (strcmp(strPos,"中间")==0)
nPos=CENTER_CENTER;
else if (strcmp(strPos,"中右")==0)
nPos=CENTER_RIGHT;
else if (strcmp(strPos,"左下角")==0)
nPos=LEFT_DOWN;
else if (strcmp(strPos,"中下")==0)
nPos=CENTER_DOWN;
else if (strcmp(strPos,"右下角")==0)
nPos=RIGHT_DOWN;
pDoc->m_pDib ->Canvas (nW,nH,nPos);
CDC *pDC=GetDC();
OnDraw(pDC);
}
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricRotate()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_pDib ->Rotate ();
CDC *pDC=GetDC();
OnDraw(pDC);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricFliphorz()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_pDib ->FlipHorz ();
CDC *pDC=GetDC();
OnDraw(pDC);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
void CViewDIBView::OnGeometricFlipvert()
{
//ffffffffffffffffffffffffffffffffffffffffff
CViewDIBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDoc->m_pDib ->FlipVert ();
CDC *pDC=GetDC();
OnDraw(pDC);
//jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -