亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? multdocview.cpp

?? 合成4個(gè)代表K,C,M,Y通道的BMP位圖為打印數(shù)據(jù)
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// MultDocView.cpp : implementation of the CMultDocView class
//

#include "stdafx.h"
#include "MultDoc.h"

#include "MultDocDoc.h"
#include "MultDocView.h"
#include "rip.h"
#include "dib.h"
#include "math.h"
#include "Inkdlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMultDocView

IMPLEMENT_DYNCREATE(CMultDocView, CView)

BEGIN_MESSAGE_MAP(CMultDocView, CView)
	//{{AFX_MSG_MAP(CMultDocView)
	ON_COMMAND(ID_RIPTEST3PASSS, OnRiptest3passs)
	ON_COMMAND(ID_TESTPASS, OnTestpass)
	ON_COMMAND(ID_TESTTIME, OnTesttime)
	ON_COMMAND(ID_4BMP2RIP, On4bmp2rip)
	ON_COMMAND(ID_SEEINK, OnSeeink)
	ON_COMMAND(ID_RIPTOCOLOR, OnRiptocolor)
	ON_COMMAND(ID_GENERBMP, OnGenerbmp)
	ON_COMMAND(ID_6BMP2RIP, On6bmp2rip)
	ON_COMMAND(ID_BMPTODAT, OnBmptodat)
	ON_COMMAND(ID_8BMP2RIP, On8bmp2rip)
	ON_COMMAND(ID_10BMP2RIP, On10bmp2rip)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CMultDocView construction/destruction

CMultDocView::CMultDocView()
{
	// TODO: add construction code here

}

CMultDocView::~CMultDocView()
{
}

BOOL CMultDocView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMultDocView drawing

void CMultDocView::OnDraw(CDC* pDC)
{
	CMultDocDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
/*	CBitmap bitmap;
//	bitmap.CreateBitmap(50,50,1,24,NULL);
	bitmap.LoadMappedBitmap(IDB_BITMAP1);
	CDC memdc;
	memdc.CreateCompatibleDC(pDC);
	memdc.SelectObject(&bitmap);
	pDC->BitBlt(0,0,50,50,&memdc,0,0,SRCCOPY);
	*/

}

/////////////////////////////////////////////////////////////////////////////
// CMultDocView printing

BOOL CMultDocView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CMultDocView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CMultDocView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CMultDocView diagnostics

#ifdef _DEBUG
void CMultDocView::AssertValid() const
{
	CView::AssertValid();
}

void CMultDocView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CMultDocDoc* CMultDocView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMultDocDoc)));
	return (CMultDocDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMultDocView message handlers
//------------------ only use for 3 pass -----------------------------------------
void CMultDocView::OnRiptest3passs() 
{
	// 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();
		if(!rip.LoadRipFile(LPCSTR(str)))
			return ;
		rip.SetPass(3);// pass is 3 ;
		rip.Initmemory();
		if(!rip.Gener4bmp())
			return ;
			for(DWORD i=0;i<rip.count;i++)
			{
			   rip.SendToMemory(i);
			   rip.Mem1to2(i);
			   rip.Pumpdot(i);
			   rip.Reversemem();
			   	rip.Mem2bmp(i,rip.lpmemc2,rip.rh.Width,500);
			}
	}	
}

/////////////////////////// 3,4 pass ////////////////////////////////////////
void CMultDocView::OnTestpass() 
{	// example for CString::GetBuffer

	// 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 ;
		rip.SetPass(4);// pass is 4 ;
		rip.Initmemory();
			for(DWORD i=0;i<rip.count;i++)
			{
			rip.SendToMemory(i);
			rip.Mem2bmp(i,rip.lpmemc2,rip.rh.Width,500);
			}
			::SetCursor(LoadCursor(NULL,IDC_ARROW));
	}
}
 ///////////////// debug dump dot time  //////////////////////////////////////
void CMultDocView::OnTesttime() 
{
	// 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();
		if(!rip.LoadRipFile(LPCSTR(str)))
			return ;                             	
		rip.SetPass(4);// pass is 4 ;
		rip.Initmemory();
			for(DWORD i=0;i<rip.count;i++)
			{
				DWORD start,finish;
				start=GetTickCount();
			rip.SendToMemory(i);  
//			rip.Mem2bmp(i,rip.lpmemc2,rip.rh.Width,500);
			finish=GetTickCount();
			TRACE("%d\n",(finish-start));
			}
	}
}

//-----------------------------------------------------------------------------------
//------------------------------four bmp file generate rip file ---------------------
void CMultDocView::On4bmp2rip() 
{
	
	// 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");
		if(	m_aFileNames.GetSize()!=4)
			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 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=4;
		//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);


		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);
		}
			delete [] lpchar;
			filer.Close();
			filec.Close();
			filem.Close();
			filey.Close();
			filek.Close();
		::SetCursor(LoadCursor(NULL,IDC_ARROW));
		AfxMessageBox("Finished!");
	}
	
}

void CMultDocView::OnSeeink() 
{	CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY,"Bmp file(*.bmp)|*.bmp||",NULL);
	if(dlg.DoModal()==IDOK)
	{	UINT uiDots[256]={0},uiPoints=0,i,j;
			for(i=0;i<256;i++)
		for(j=0;j<8;j++)
			if((i>>j)&1) uiDots[i]++;
		BITMAPINFOHEADER bih;
		BITMAPFILEHEADER bfh;
		
		CFile bmpfile(dlg.GetPathName(),CFile::modeRead);
		bmpfile.Read(&bfh,sizeof(BITMAPFILEHEADER));
		bmpfile.Read(&bih,sizeof(BITMAPINFOHEADER));
		bmpfile.Seek(sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*2,CFile::begin);
		UINT uiBytesPerLine = WIDTHBYTES(bih.biWidth);
		LPBYTE lpBmp = new BYTE[bih.biHeight * uiBytesPerLine];
		for(j=0;j<(UINT)bih.biHeight;j++)
		{	bmpfile.Read(lpBmp,bih.biHeight * uiBytesPerLine);
		}
		for(i=0;i<uiBytesPerLine*bih.biHeight;i++)
		{	uiPoints += uiDots[*(lpBmp+i)];
		}
		CString csStr;
		csStr.Format("%d,%d,%.3f",uiPoints,bih.biHeight*bih.biWidth,(float)uiPoints/(float)(bih.biHeight*bih.biWidth));
		AfxMessageBox(csStr);
		bmpfile.Close();
	}
	return;
	// 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();
		if(!rip.LoadRipFile(LPCSTR(str)))
			return ;
		Inkstruct count={0};// the same as {0,0,0,0};
//----------------------calc ink dot----------------------------------------------
		::SetCursor(LoadCursor(NULL,IDC_WAIT));
		DWORD start,finish;
		start=GetTickCount();
		rip.CalcInks();
		count=rip.GetInkNums();
		finish=GetTickCount();
		::SetCursor(LoadCursor(NULL,IDC_ARROW));
//---------------------------------------------------------------------
#ifdef _DEBUG	
		afxDump<<finish-start<<"\n";
#endif	
		CInkdlg m_inkdlg;
		m_inkdlg.m_inkc=count.Inkc;
		m_inkdlg.m_inkm=count.Inkm;
		m_inkdlg.m_inky=count.Inky;
		m_inkdlg.m_inkk=count.Inkk;
		UpdateData(true);
		m_inkdlg.DoModal();
			
	}
}

void CMultDocView::OnRiptocolor() 
{
	// 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;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女同ⅹxx女同tv| 日韩一区二区三区视频在线| 欧美性感一类影片在线播放| 在线播放日韩导航| 欧美精品一区二区三区四区| 国产精品乱码人人做人人爱| 亚洲综合色视频| 卡一卡二国产精品 | 欧美午夜精品免费| 欧美一区二区三区电影| 国产三级久久久| 亚洲精品老司机| 久久成人免费电影| 一本久久精品一区二区| 日韩欧美国产不卡| 亚洲人成精品久久久久| 免费人成黄页网站在线一区二区| 国产成人在线免费| 欧美吻胸吃奶大尺度电影| 久久久美女艺术照精彩视频福利播放| 亚洲欧美另类图片小说| 精品在线你懂的| 欧美主播一区二区三区| 精品国产乱码久久久久久影片| 亚洲精品中文字幕乱码三区| 精品一区二区三区av| 91久久精品一区二区| 精品99一区二区三区| 亚洲在线观看免费视频| 国产69精品久久久久777| 在线综合亚洲欧美在线视频 | 欧美精选一区二区| 国产精品久久久久久亚洲毛片| 日韩精品91亚洲二区在线观看| 成人一区二区三区在线观看| 欧美一区二区精品在线| 亚洲少妇最新在线视频| 国内成人自拍视频| 555www色欧美视频| 亚洲欧美成aⅴ人在线观看| 国产精品自拍av| 欧美老肥妇做.爰bbww视频| 亚洲视频一区二区免费在线观看| 精品一区二区三区免费播放| 欧美日本一区二区三区四区| 日韩理论片一区二区| 国产成人三级在线观看| 日韩亚洲欧美在线观看| 亚洲不卡一区二区三区| 色偷偷一区二区三区| 国产欧美精品区一区二区三区| 美女视频一区二区三区| 欧美日本不卡视频| 亚洲午夜久久久久中文字幕久| 99久久精品情趣| 中文字幕精品综合| 国产精品18久久久久久久网站| 日韩一区二区精品在线观看| 亚洲成av人影院在线观看网| 色噜噜狠狠色综合中国| 亚洲欧美电影一区二区| 99精品一区二区三区| 国产精品福利一区| 成人免费观看视频| 国产精品视频一区二区三区不卡| 国产精品一二三在| 国产欧美日韩卡一| 国产91精品免费| 国产精品人人做人人爽人人添| 国产成人欧美日韩在线电影| 国产亚洲综合性久久久影院| 久草热8精品视频在线观看| 日韩免费看的电影| 国内成人精品2018免费看| 精品国产污网站| 国产老妇另类xxxxx| 久久精品一区二区三区不卡牛牛| 国产真实乱子伦精品视频| 亚洲精品在线三区| 国产乱子伦视频一区二区三区 | 韩国精品在线观看| 久久久久久久av麻豆果冻| 国产精品一区二区你懂的| 中文字幕不卡在线播放| 波多野结衣在线aⅴ中文字幕不卡| 国产精品成人网| 日本高清免费不卡视频| 亚洲国产sm捆绑调教视频| 欧美浪妇xxxx高跟鞋交| 麻豆免费看一区二区三区| 欧美一二三四区在线| 精品一区二区三区视频| 久久久综合网站| 成人黄色777网| 樱花草国产18久久久久| 欧美高清一级片在线| 激情综合网av| 国产精品视频在线看| 日本丶国产丶欧美色综合| 青青草国产精品亚洲专区无| 精品欧美乱码久久久久久1区2区| 国产福利精品导航| 亚洲精品日韩一| 欧美精品乱码久久久久久| 免费看黄色91| 国产农村妇女精品| 欧洲av在线精品| 久久国产精品一区二区| 国产日韩欧美精品在线| 色欧美日韩亚洲| 麻豆精品一区二区综合av| 国产精品人人做人人爽人人添| 在线观看日韩国产| 激情五月婷婷综合网| 亚洲欧洲99久久| 日韩视频一区二区三区| 顶级嫩模精品视频在线看| 亚洲午夜免费福利视频| 337p日本欧洲亚洲大胆精品| 99久久精品99国产精品| 日韩不卡在线观看日韩不卡视频| 国产午夜精品一区二区三区视频| 色婷婷狠狠综合| 国模一区二区三区白浆| 一区二区三区高清不卡| 26uuu久久天堂性欧美| 91视视频在线观看入口直接观看www| 亚洲va欧美va人人爽午夜| 久久久国产综合精品女国产盗摄| 在线观看不卡视频| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产精品丝袜久久久久久app| 欧美三级电影精品| 国产精品88av| 日韩精品免费专区| 自拍偷拍亚洲激情| 亚洲精品一区二区在线观看| 欧美少妇性性性| 丁香桃色午夜亚洲一区二区三区| 亚洲成人av一区二区三区| 欧美激情一区三区| 欧美一区二区三区在线| 一本色道a无线码一区v| 国产一二三精品| 日韩影院免费视频| 亚洲乱码日产精品bd| 国产片一区二区三区| 日韩一级精品视频在线观看| 91在线看国产| 国产91露脸合集magnet | 欧美一区二区三区四区视频| 91视频在线观看免费| 国产精品一品视频| 日韩综合小视频| 艳妇臀荡乳欲伦亚洲一区| 中文字幕精品一区| 久久影音资源网| 欧美大片日本大片免费观看| 欧美日韩综合色| 色婷婷av一区二区三区大白胸 | 蜜桃视频一区二区三区在线观看| 亚洲欧洲中文日韩久久av乱码| 久久久午夜精品理论片中文字幕| 制服丝袜激情欧洲亚洲| 欧美色图在线观看| 91极品视觉盛宴| 91香蕉视频黄| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品一区二区三区网站| 经典三级在线一区| 经典一区二区三区| 精品一区二区三区视频在线观看 | 日韩欧美电影在线| 欧美精品日日鲁夜夜添| 欧美日韩大陆一区二区| 欧美午夜片在线看| 欧美视频中文字幕| 欧美性一二三区| 欧美亚洲丝袜传媒另类| 在线观看中文字幕不卡| 日本高清不卡视频| 欧美又粗又大又爽| 91麻豆福利精品推荐| 色综合久久综合| 91亚洲男人天堂| 91久久精品网| 欧美体内she精高潮| 欧美色涩在线第一页| 91国在线观看| 欧美日韩在线三区| 91超碰这里只有精品国产| 欧美精品高清视频| 91精品久久久久久蜜臀| 欧美一级国产精品| wwwwww.欧美系列| 国产婷婷色一区二区三区| 国产精品色在线| 一区二区三区国产| 性做久久久久久久久| 蜜桃传媒麻豆第一区在线观看|