📄 multdocview.cpp
字号:
CRip rip;
str=opendia.GetPathName();
if(!rip.LoadRipFile(LPCSTR(str)))
return ;
::SetCursor(LoadCursor(NULL,IDC_WAIT));
rip.Genercolor();
::SetCursor(LoadCursor(NULL,IDC_ARROW));
}
}
void CMultDocView::OnGenerbmp()
{
// TODO: Add your command handler code here
CFileDialog opendia(true,NULL,NULL,OFN_HIDEREADONLY,"rip file(*.prn)|*.prn||",NULL);
opendia.m_ofn.lpstrInitialDir="d:\\imageresource\\rip\\";
if(opendia.DoModal()==IDOK)
{
CString str;
CRip rip;
str=opendia.GetPathName();
//-----------------------------------------------------------------------------------
::SetCursor(LoadCursor(NULL,IDC_WAIT));
if(!rip.LoadRipFile(LPCSTR(str)))
return ;
if(!rip.Gener4bmp())
return ;
::SetCursor(LoadCursor(NULL,IDC_ARROW));
}
}
void CMultDocView::On6bmp2rip()
{ // TODO: Add your command handler code here
CFileDialog opendia(true,NULL,NULL,OFN_ALLOWMULTISELECT|OFN_EXPLORER,"bmp file(*.bmp)|*.bmp||",NULL);//default IS OFN_EXPLORER
//except have select OFN_ALLOWMULTISELECT;
opendia.m_ofn.lpstrInitialDir="d:\\rip\\testtime\\";
if(opendia.DoModal()==IDOK)
{
::SetCursor(LoadCursor(NULL,IDC_WAIT));
CString string,ripname;
CStringArray m_aFileNames;
CString str=opendia.GetPathName();
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-1.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-2.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-3.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-4.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-5.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-6.bmp");
if( m_aFileNames.GetSize()!=6)
return ;
BITMAPINFOHEADER bih;
BITMAPFILEHEADER bfh;
RipHeader rh;
string=m_aFileNames.GetAt(0);
// string.Delete(string.GetLength()-4,1);
ripname=string.Left(string.GetLength()-6);
ripname.Insert(ripname.GetLength(),".prn");
CFile filek(m_aFileNames.GetAt(0),CFile::modeRead);
CFile filec(m_aFileNames.GetAt(1),CFile::modeRead);
CFile filem(m_aFileNames.GetAt(2),CFile::modeRead);
CFile filey(m_aFileNames.GetAt(3),CFile::modeRead);
CFile filelc(m_aFileNames.GetAt(4),CFile::modeRead);
CFile filelm(m_aFileNames.GetAt(5),CFile::modeRead);
CFile filer(ripname,CFile::modeCreate|CFile::modeWrite);
filec.Read(&bfh,sizeof(BITMAPFILEHEADER));
filec.Read(&bih,sizeof(BITMAPINFOHEADER));
rh.Height=bih.biHeight;
rh.Width=bih.biWidth;
rh.Colors=6;
//rh.PaperWidth=1069546429;
rh.Signature=0;
rh.XDPI=180;
rh.YDPI=180;
rh.BytesPerLine=WIDTHBYTES(bih.biWidth);
filer.Write(&rh,sizeof(RipHeader));
long offset=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*2;
filek.Seek(offset,CFile::begin);
filec.Seek(offset,CFile::begin);
filem.Seek(offset,CFile::begin);
filey.Seek(offset,CFile::begin);
filelc.Seek(offset,CFile::begin);
filelm.Seek(offset,CFile::begin);
char* lpchar=new char[rh.BytesPerLine];
for(long y=0;y<bih.biHeight;y++)
{ filek.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filec.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filem.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filey.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelc.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelm.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
}
delete [] lpchar;
filer.Close();
filec.Close();
filem.Close();
filey.Close();
filelc.Close();
filelm.Close();
::SetCursor(LoadCursor(NULL,IDC_ARROW));
AfxMessageBox("Finished!");
}
}
void CMultDocView::OnBmptodat()
{ CFileDialog opendia(true,NULL,NULL,OFN_ALLOWMULTISELECT|OFN_EXPLORER,"bmp file(*.bmp)|*.bmp||",NULL);//default IS OFN_EXPLORER
//except have select OFN_ALLOWMULTISELECT;
//opendia.m_ofn.lpstrInitialDir="d:\\rip\\testtime\\";
if(opendia.DoModal()==IDOK)
{ ::SetCursor(LoadCursor(NULL,IDC_WAIT));
CStringArray m_aFileNames;
POSITION pos=opendia.GetStartPosition();
while(pos!=NULL)
{ CString str1=opendia.GetNextPathName(pos);
m_aFileNames.Add(str1);
}
if( m_aFileNames.GetSize()!=20)
{ AfxMessageBox("BMPCOUNT!=20");
return ;
}
BITMAPINFOHEADER bih;
BITMAPFILEHEADER bfh;
UINT i=0;
CFile datafile("strdata.dat",CFile::modeCreate|CFile::modeWrite);
for(i=0;i<20;i++)
{ CFile bmpfile(m_aFileNames.GetAt(i),CFile::modeRead);
bmpfile.Read(&bfh,sizeof(BITMAPFILEHEADER));
bmpfile.Read(&bih,sizeof(BITMAPINFOHEADER));
long offset=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*2;
bmpfile.Seek(offset,CFile::begin);
LPBYTE lpData = new BYTE[WIDTHBYTES(bih.biWidth)*bih.biHeight];
bmpfile.Read(lpData,WIDTHBYTES(bih.biWidth)*bih.biHeight);
datafile.Write(lpData,WIDTHBYTES(bih.biWidth)*bih.biHeight);
delete [] lpData;
bmpfile.Close();
}
datafile.Close();
}
}
void CMultDocView::On8bmp2rip()
{
CFileDialog opendia(true,NULL,NULL,OFN_ALLOWMULTISELECT|OFN_EXPLORER,"bmp file(*.bmp)|*.bmp||",NULL);//default IS OFN_EXPLORER
//except have select OFN_ALLOWMULTISELECT;
opendia.m_ofn.lpstrInitialDir="d:\\rip\\testtime\\";
if(opendia.DoModal()==IDOK)
{
::SetCursor(LoadCursor(NULL,IDC_WAIT));
CString string,ripname;
CStringArray m_aFileNames;
CString str=opendia.GetPathName();
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-1.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-2.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-3.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-4.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-5.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-6.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-7.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-8.bmp");
BITMAPINFOHEADER bih;
BITMAPFILEHEADER bfh;
RipHeader rh;
string=m_aFileNames.GetAt(0);
// string.Delete(string.GetLength()-4,1);
ripname=string.Left(string.GetLength()-6);
ripname.Insert(ripname.GetLength(),".prn");
CFile filek(m_aFileNames.GetAt(0),CFile::modeRead);
CFile filec(m_aFileNames.GetAt(1),CFile::modeRead);
CFile filem(m_aFileNames.GetAt(2),CFile::modeRead);
CFile filey(m_aFileNames.GetAt(3),CFile::modeRead);
CFile filelc(m_aFileNames.GetAt(4),CFile::modeRead);
CFile filelm(m_aFileNames.GetAt(5),CFile::modeRead);
CFile filelk(m_aFileNames.GetAt(6),CFile::modeRead);
CFile filely(m_aFileNames.GetAt(7),CFile::modeRead);
CFile filer(ripname,CFile::modeCreate|CFile::modeWrite);
filec.Read(&bfh,sizeof(BITMAPFILEHEADER));
filec.Read(&bih,sizeof(BITMAPINFOHEADER));
rh.Height=bih.biHeight;
rh.Width=bih.biWidth;
rh.Colors=8;
//rh.PaperWidth=1069546429;
rh.Signature=0;
rh.XDPI=180;
rh.YDPI=180;
rh.BytesPerLine=WIDTHBYTES(bih.biWidth);
filer.Write(&rh,sizeof(RipHeader));
long offset=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*2;
filek.Seek(offset,CFile::begin);
filec.Seek(offset,CFile::begin);
filem.Seek(offset,CFile::begin);
filey.Seek(offset,CFile::begin);
filelc.Seek(offset,CFile::begin);
filelm.Seek(offset,CFile::begin);
filelk.Seek(offset,CFile::begin);
filely.Seek(offset,CFile::begin);
char* lpchar=new char[rh.BytesPerLine];
for(long y=0;y<bih.biHeight;y++)
{ filek.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filec.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filem.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filey.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelc.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelm.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelk.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filely.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
}
delete [] lpchar;
filer.Close();
filec.Close();
filem.Close();
filey.Close();
filelc.Close();
filelm.Close();
filelk.Close();
filely.Close();
::SetCursor(LoadCursor(NULL,IDC_ARROW));
AfxMessageBox("Finished!");
}
}
void CMultDocView::On10bmp2rip()
{
CFileDialog opendia(true,NULL,NULL,OFN_ALLOWMULTISELECT|OFN_EXPLORER,"bmp file(*.bmp)|*.bmp||",NULL);//default IS OFN_EXPLORER
//except have select OFN_ALLOWMULTISELECT;
opendia.m_ofn.lpstrInitialDir="d:\\rip\\testtime\\";
if(opendia.DoModal()==IDOK)
{
::SetCursor(LoadCursor(NULL,IDC_WAIT));
CString string,ripname;
CStringArray m_aFileNames;
CString str=opendia.GetPathName();
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-1.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-2.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-3.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-4.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-5.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-6.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-7.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-8.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-9.bmp");
m_aFileNames.Add(str.Left(str.GetLength()-6)+"-10.bmp");
BITMAPINFOHEADER bih;
BITMAPFILEHEADER bfh;
RipHeader rh;
string=m_aFileNames.GetAt(0);
// string.Delete(string.GetLength()-4,1);
ripname=string.Left(string.GetLength()-6);
ripname.Insert(ripname.GetLength(),".prn");
CFile filek(m_aFileNames.GetAt(0),CFile::modeRead);
CFile filec(m_aFileNames.GetAt(1),CFile::modeRead);
CFile filem(m_aFileNames.GetAt(2),CFile::modeRead);
CFile filey(m_aFileNames.GetAt(3),CFile::modeRead);
CFile filelc(m_aFileNames.GetAt(4),CFile::modeRead);
CFile filelm(m_aFileNames.GetAt(5),CFile::modeRead);
CFile filelk(m_aFileNames.GetAt(6),CFile::modeRead);
CFile filely(m_aFileNames.GetAt(7),CFile::modeRead);
CFile filew(m_aFileNames.GetAt(8),CFile::modeRead);
CFile filev(m_aFileNames.GetAt(9),CFile::modeRead);
CFile filer(ripname,CFile::modeCreate|CFile::modeWrite);
filec.Read(&bfh,sizeof(BITMAPFILEHEADER));
filec.Read(&bih,sizeof(BITMAPINFOHEADER));
rh.Height=bih.biHeight;
rh.Width=bih.biWidth;
rh.Colors=10;
//rh.PaperWidth=1069546429;
rh.Signature=0;
rh.XDPI=180;
rh.YDPI=185;
rh.BytesPerLine=WIDTHBYTES(bih.biWidth);
filer.Write(&rh,sizeof(RipHeader));
long offset=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*2;
filek.Seek(offset,CFile::begin);
filec.Seek(offset,CFile::begin);
filem.Seek(offset,CFile::begin);
filey.Seek(offset,CFile::begin);
filelc.Seek(offset,CFile::begin);
filelm.Seek(offset,CFile::begin);
filelk.Seek(offset,CFile::begin);
filely.Seek(offset,CFile::begin);
filew.Seek(offset,CFile::begin);
filev.Seek(offset,CFile::begin);
char* lpchar=new char[rh.BytesPerLine];
for(long y=0;y<bih.biHeight;y++)
{ filek.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filec.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filem.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filey.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelc.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelm.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filelk.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filely.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filew.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
filev.Read(lpchar,rh.BytesPerLine);
filer.Write(lpchar,rh.BytesPerLine);
}
delete [] lpchar;
filer.Close();
filec.Close();
filem.Close();
filey.Close();
filelc.Close();
filelm.Close();
filelk.Close();
filely.Close();
filew.Close();
filev.Close();
::SetCursor(LoadCursor(NULL,IDC_ARROW));
AfxMessageBox("Finished!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -