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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stepcali.cpp

?? 又VC++實現的基于TWAIN的掃描儀圖像輸入處理軟件
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
//分步校正命令下傳參數

#include <windows.h>
#include "stdafx.h"
#include "source10.h"
#include "wnaspi32.h"
#include "scsidefs.h"
#include "Scanner.h"
#include "Setscanner.h"
#include "stepcali.h"

extern char InitDir2[100];
extern CSetScanner *pSetScanner;

extern unsigned char Def_Stp_Para[300];	//下傳缺省參數150B+分步校正參數150B存儲緩沖區
unsigned char Stp_Cai_XGP[1710];		//上傳實際分步校正參數150B+效果參數1552B+8B存儲緩沖區

/*==========================================================/
/		*****下傳分步校正參數包并顯示校正效果參數*****		/
/	input:	inStep  ---> 分步校正的步號						/ 
/	return value :	=0 -> 正常退出							/
/					=1 ->									/
/					=2 ->									/
/==========================================================*/
int Step_Cali(int inStep)
{
	//加入在參數輸入對話框中顯示“進入下傳分步校正參數包SCSI命令程序”功能
	//AfxMessageBox("進入下傳分步校正參數包SCSI命令程序");

	//初始化SCSI調用緩沖區
	DWORD ASPI32Status=0xff;	
	SRB_ExecSCSICmd mySRBEIO;
    
 	for(int i=0;i<16;i++)
    mySRBEIO.SenseArea[i]=0;

	int ASPI_Host_Adapter_ID1;
	ASPI_Host_Adapter_ID1=GetPrivateProfileInt("ASPI_Adapter","ASPI",0,InitDir2);

	mySRBEIO.SRB_Cmd		=SC_EXEC_SCSI_CMD;	
	mySRBEIO.SRB_Status	    =0;					
	mySRBEIO.SRB_HaId		=ASPI_Host_Adapter_ID1;	
	mySRBEIO.SRB_Flags	    =SRB_DIR_SCSI;		
	mySRBEIO.SRB_Hdr_Rsvd	=0;				
	mySRBEIO.SRB_Target	    =6;					
    mySRBEIO.SRB_Lun		=0;				
	mySRBEIO.SRB_Rsvd1	    =0;					
	//分步校正下傳參數包Def_Stp_Para緩沖區300個字節:150字節的缺省參數及150字節的分步參數
	mySRBEIO.SRB_BufLen	    =300;
	mySRBEIO.SRB_BufPointer =(unsigned char *)Def_Stp_Para;
	mySRBEIO.SRB_SenseLen	=SENSE_LEN;		
	mySRBEIO.SRB_CDBLen	    =6;			
	mySRBEIO.SRB_HaStat	    =0;					
	mySRBEIO.SRB_TargStat	=0;                
	mySRBEIO.SRB_Rsvd2	    =0;					

	mySRBEIO.CDBByte[0]		=0x15;			//分步校正SCSI命令包 CDBLen=6。命令碼=15H
	mySRBEIO.CDBByte[1]		=0x00;
	mySRBEIO.CDBByte[2]		=LOBYTE(inStep);//分步校正模式字節(步號)
	mySRBEIO.CDBByte[3]		=HIBYTE(300);
	mySRBEIO.CDBByte[4]		=LOBYTE(300);
	mySRBEIO.CDBByte[5]		=0;

	mySRBEIO.SRB_PostProc	=0;
	ASPI32Status =SendASPI32Command((LPSRB) &mySRBEIO);
	while(mySRBEIO.SRB_Status==SS_PENDING);
	if(mySRBEIO.SRB_Status==SS_ERR)
	{
		AfxMessageBox("SCSI狀態==ss_error");
		//return 1;
	}
    if(mySRBEIO.SRB_TargStat!=0x00)    //約定GOOD為00H,檢查出錯為02H
	{
	   pSetScanner->SCSI_CHECK();
	   //return 2;
	}

	//			*****底層校正結果信息獲取與顯示*****			
	//加入在參數輸入對話框中顯示“進入底層校正結果信息獲取與顯示SCSI命令程序”功能
//	AfxMessageBox("進入底層校正結果信息獲取與顯示SCSI命令程序");

  	for(i=0;i<1710;i++)
		Stp_Cai_XGP[i]=1;
 
 	//初始化SCSI調用緩沖區
 	ASPI32Status=0xff;	
 	 
  	for(i=0;i<16;i++)
		mySRBEIO.SenseArea[i]=0;
 
 	ASPI_Host_Adapter_ID1=GetPrivateProfileInt("ASPI_Adapter","ASPI",0,InitDir2);
 	
 	mySRBEIO.SRB_Cmd		=SC_EXEC_SCSI_CMD;
 	mySRBEIO.SRB_Status		=0;
 	mySRBEIO.SRB_HaId		=ASPI_Host_Adapter_ID1;
 	mySRBEIO.SRB_Flags		=SRB_DIR_IN;			//2004-01-8
 	mySRBEIO.SRB_Hdr_Rsvd	=0;
 	mySRBEIO.SRB_Target	    =6;
 	mySRBEIO.SRB_Lun		=0;
 	mySRBEIO.SRB_Rsvd1		=0;
	//上傳實際分步校正參數150B+效果參數1532B+8B存儲緩沖區:Stp_Cai_XGP[1710]
	mySRBEIO.SRB_BufLen	    =1710;
 	mySRBEIO.SRB_BufPointer	= (unsigned char*)Stp_Cai_XGP;
 	
 	mySRBEIO.SRB_SenseLen	=SENSE_LEN;
 	mySRBEIO.SRB_CDBLen		=10;
 	mySRBEIO.SRB_HaStat		=0;
 	mySRBEIO.SRB_TargStat	=0;
 	mySRBEIO.SRB_Rsvd2		=0;
 
 	mySRBEIO.CDBByte[0]		=SCSI_READ10;				//即0X28H
 	mySRBEIO.CDBByte[1]		=0;
 	mySRBEIO.CDBByte[2]		=0x01;				//讀取數據類型,0是圖像數據,1是分步校正效果參數
 	mySRBEIO.CDBByte[3]		=0;
 	mySRBEIO.CDBByte[4]		=LOBYTEOFWORD(inStep);		//分步校正模式字節
 	mySRBEIO.CDBByte[5]		=0;
 	mySRBEIO.CDBByte[6]		=SECONDBYTEOFDWORD(1710);	//上傳效果參數包的長度
 	mySRBEIO.CDBByte[7]		=THIRDBYTEOFDWORD(1710);
 	mySRBEIO.CDBByte[8]		=LASTBYTEOFDWORD(1710);
 	mySRBEIO.CDBByte[9]		=0;
 	mySRBEIO.SRB_PostProc	=0;
 				
     ASPI32Status = SendASPI32Command( (LPSRB) &mySRBEIO); 
     while(mySRBEIO.SRB_Status==SS_PENDING);
	 if(mySRBEIO.SRB_Status!=SS_COMP)
 	  {
 		AfxMessageBox("讀取校正結果參數出錯");
//		return 3;	//1  --->讀取校正結果參數出錯
 	  }
 
       if(mySRBEIO.SRB_TargStat==0x02)    //約定GOOD為00H,檢查出錯為02H
 	  {
 			AfxMessageBox("底層掃描儀校正操作異常");
 			pSetScanner->SCSI_CHECK();
//			return 4;	//2  --->底層掃描儀校正操作異常
 	  }
 
//		*****將獲取的分步校正效果參數寫入正文文件并顯示*****
	FILE *fp;	// 校正效果文件頭,每頭R、G、B 3字節的校正參數
	char	Cali_RName[30];  
	char	Cali_Title[20];
	char	Title_Tmp[20];

	switch (inStep)
    {
		case 0:
        case 1:				//粗/精感光時間設置
			if(inStep==0)
			{
				strcpy(Cali_RName,"感光初始獲取.txt");
				strcpy(Cali_Title,"感光初始獲取");
			}
			else
			{
				strcpy(Cali_RName,"感光精調.txt");
				strcpy(Cali_Title,"感光精調");
			}

			fp = fopen(GetFullFilePath(Cali_RName),"wt");
			
			fprintf(fp,"                                          ================           %s           ================\n",Cali_Title);
			
			if(inStep==0)
				GangG_Disp(0,Cali_Title,fp);		//感光初始獲取校正參數及效果參數寫入fp文件
			else
				GangG_Disp(1,Cali_Title,fp);		//感光精校正參數及效果參數寫入fp文件

		break;

        case 2:
        case 3:				//粗/精靜態偏移設置
			if(inStep==2)
			{
				strcpy(Cali_RName,"偏移初始獲取.txt");
				strcpy(Cali_Title,"偏移初始獲取");
			}
			else
			{
				strcpy(Cali_RName,"偏移精調.txt");
				strcpy(Cali_Title,"偏移精調");
			}
			
			fp = fopen(GetFullFilePath(Cali_RName),"wt");
			
			fprintf(fp,"                                          ================           %s           ================\n",Cali_Title);
			
/*
			strcpy(Title_Tmp,"感光校正及效果");
			GangG_Disp(1,Title_Tmp,fp);		//感光校正參數及效果參數寫入fp文件
*/
			
			OFFset_Disp(Cali_Title,fp);		//靜態偏移校正參數及效果參數寫入fp文件
		break;

        case 4:
        case 5:				//粗/精靜態增益設置
			if(inStep==4)
			{
				strcpy(Cali_RName,"增益初始獲取.txt");
				strcpy(Cali_Title,"增益初始獲取");
			}
			else
			{
				strcpy(Cali_RName,"增益精調.txt");
				strcpy(Cali_Title,"增益精調");
			}
			
			fp = fopen(GetFullFilePath(Cali_RName),"wt");
			
			fprintf(fp,"                                          ================           %s           ================\n",Cali_Title);
			
/*
			strcpy(Title_Tmp,"感光校正及效果");
			GangG_Disp(1,Title_Tmp,fp);		//感光校正參數及效果參數寫入fp文件
			
			strcpy(Title_Tmp,"偏移校正及效果");
			OFFset_Disp(Title_Tmp,fp);		//靜態偏移校正參數及效果參數寫入fp文件
*/

			Gain_Disp(Cali_Title,fp);		//增益及偏色校正參數及效果參數寫入fp文件
		break;

        case 6:
		case 7:
			if(inStep==6)
			{
				strcpy(Cali_RName,"缺省完整校正效果.txt");
				strcpy(Cali_Title,"缺省完整校正效果");
			}
			else
			{
				strcpy(Cali_RName,"參數文件校正效果.txt");
				strcpy(Cali_Title,"參數文件校正效果");
			}

			fp = fopen(GetFullFilePath(Cali_RName),"wt");
			
			fprintf(fp,"                                          ================           %s           ================\n",Cali_Title);
			
			strcpy(Title_Tmp,"感光校正及效果");
			GangG_Disp(1,Title_Tmp,fp);		//感光校正參數及效果參數寫入fp文件
			
			strcpy(Title_Tmp,"偏移校正及效果");
			OFFset_Disp(Title_Tmp,fp);		//靜態偏移校正參數及效果參數寫入fp文件
			
			strcpy(Title_Tmp,"增益及偏色校正及效果");
			Gain_Disp(Title_Tmp,fp);		//增益及偏色校正參數及效果參數寫入fp文件
		break;

        default:
			strcpy(Cali_RName,"無效.txt");
        break;
	}

	fclose(fp);

	char IniFile[120];
    GetWindowsDirectory(IniFile,sizeof(IniFile));
    char pFilePath[120];  
	strcpy(pFilePath,strcat(IniFile,"\\twain_32\\MTIScanner"));

	ShellExecute(NULL,NULL,_T(Cali_RName),NULL,pFilePath,SW_MAXIMIZE);

	return 0;	//0  --->正常退出

}

/*====================2004.2.24=================/
/	*****分步校正效果參數顯示格式行寫入*****	/
/		感光校正參數及效果參數寫入fp文件		/	
/==============================================*/
void GangG_Disp(int c_j_flg,CString	Cali_Title,FILE *fp)
{
	//從上傳效果參數中提取底層實際使用的附加及延時時間參數
	for (int i=0;i<32;i++)
		Def_Stp_Para[i+150+8]=Stp_Cai_XGP[i+8];	//以上傳值更新保存參數值

	int	JZP,XGP;			//對應校正步號返回的校正參數及效果參數的位置
	int GGt,GGc;
	GGt=250;
	GGc=(Def_Stp_Para[150]<<8) | (Def_Stp_Para[151]);
	fprintf(fp,"   \n");   
	fprintf(fp,"   \n");   
	fprintf(fp,"==========================================================           %s           ======================================================\n",Cali_Title);
	fprintf(fp,"   \n");   
	fprintf(fp,"                                             感光時間基值(單位22us): %d        感光目標碼: %d        \n",GGt,GGc);

	fprintf(fp,"   \n");   
	fprintf(fp,"                                                    ==各CCD頭的附加感光時間(單位:22us)==\n");
	fprintf(fp,"                                                         CCD1   CCD2   CCD3   CCD4   CCD5 \n");
	fprintf(fp,"                                                       %5d%7d%7d%7d%7d\n",Def_Stp_Para[158],Def_Stp_Para[159],Def_Stp_Para[160],Def_Stp_Para[161],Def_Stp_Para[162]);

	if (c_j_flg==1)				//感光時間初始獲取時(c_j_flg=0),不系數附加感光效果
	{
		JZP=1;					//設置JZP=1,決定在寫入時單另處理。
		XGP=150+0;				//CCD頭附加感光時間校正效果參數在Stp_Cai_XGP緩沖區中的起始位置=150+0
		fprintf(fp,"   \n");   
		fprintf(fp,"                                                        ==附加感光時間校正效果參數==\n");
		Cali_Disp(JZP,XGP,fp);	//附加感光時間校正效果參數格式化寫入
	}
				
	JZP=166;				//CCD頭感光校正參數在Def_Stp_Para緩沖區中的起始位置=166
	XGP=150+240;			//CCD頭感光校正效果參數在Stp_Cai_XGP緩沖區中的起始位置=150+240
	fprintf(fp,"   \n");   
	fprintf(fp,"                                                    ==延遲感光時間校正參數及校正效果系數==\n");
	Cali_Disp(JZP,XGP,fp);	//感光時間校正參數及校正效果系數格式化寫入

 }

/*====================2004.2.24=================/
/	*****分步校正效果參數顯示格式行寫入*****	/
/	  靜態偏移校正參數及效果參數寫入fp文件		/	
/==============================================*/
void OFFset_Disp(CString Cali_Title,FILE *fp)
{
	//從上傳效果參數中提取底層實際使用的靜態偏移參數
	for (int i=0;i<24;i++)
		Def_Stp_Para[i+150+40]=Stp_Cai_XGP[i+40];	//以上傳值更新保存參數值

	int	JZP,XGP;			//對應校正步號返回的校正參數及效果參數的位置

	fprintf(fp,"   \n");   
	fprintf(fp,"   \n");   
	fprintf(fp,"==========================================================           %s           ======================================================\n",Cali_Title);

	JZP=190;					//CCD頭靜態偏移校正參數在Def_Stp_Para緩沖區中的起始位置=190
	XGP=150+480;				//CCD頭靜態偏移校正效果參數在Stp_Cai_XGP緩沖區中的起始位置=150+480
	fprintf(fp,"   \n");   
	fprintf(fp,"                                                       ==靜態偏移校正參數及校正效果系數==\n");
	Cali_OFF_Dsp(JZP,XGP,fp);	//靜態偏移校正參數及校正效果系數格式化寫入
}

/*====================2004.2.24=================/
/	*****分步校正效果參數顯示格式行寫入*****	/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
最新热久久免费视频| 丝袜美腿高跟呻吟高潮一区| 国产精品1024| 欧美激情综合网| aa级大片欧美| 亚洲精品国产成人久久av盗摄| 色天使久久综合网天天| 亚洲成av人片| 久久一区二区三区四区| av中文字幕不卡| 国产亚洲人成网站| 国产99精品在线观看| 337p亚洲精品色噜噜狠狠| 丝袜诱惑亚洲看片| 久久影院视频免费| 色婷婷av久久久久久久| 日本大胆欧美人术艺术动态| 精品久久久久久久久久久久久久久| 国产在线一区二区综合免费视频| 国产精品精品国产色婷婷| 欧美视频在线一区二区三区 | 久久精品夜色噜噜亚洲aⅴ| 国产成人av影院| 亚洲综合另类小说| 精品国产乱码91久久久久久网站| jiyouzz国产精品久久| 日本欧美韩国一区三区| 国产精品嫩草99a| 欧美美女网站色| 久久精品国产在热久久| 91精品国模一区二区三区| 国产精品一区二区黑丝| 亚洲视频综合在线| 一本色道久久综合狠狠躁的推荐| 中文字幕亚洲不卡| 欧美一区国产二区| 91在线无精精品入口| 麻豆免费精品视频| 亚洲精品ww久久久久久p站| 精品国产一区二区三区忘忧草| 色综合久久综合| 国产精品1区二区.| 日本不卡一区二区三区| 最新日韩av在线| 精品福利二区三区| 欧美精品一卡两卡| 91久久精品日日躁夜夜躁欧美| 精品一区精品二区高清| 亚洲一区二区黄色| 日韩伦理电影网| 国产婷婷色一区二区三区在线| 久久先锋资源网| 天堂成人国产精品一区| 91精品国产综合久久福利| 国产亚洲欧美日韩俺去了| 韩国一区二区在线观看| 亚洲一二三区视频在线观看| 国产欧美精品国产国产专区| 日韩一区二区三区三四区视频在线观看 | 蜜桃视频一区二区| 亚洲一区av在线| 亚洲视频在线一区二区| 中文字幕免费在线观看视频一区| 日韩欧美国产综合在线一区二区三区 | 色综合久久久久久久久久久| 懂色av中文一区二区三区| 国产主播一区二区三区| 久久精工是国产品牌吗| 日本欧美一区二区在线观看| 首页国产丝袜综合| 日本一道高清亚洲日美韩| 亚洲一二三区不卡| 久久精品夜色噜噜亚洲a∨| 极品美女销魂一区二区三区| 欧美精品色一区二区三区| 91精品一区二区三区久久久久久| 日韩不卡一区二区| 日日骚欧美日韩| 亚洲成a人v欧美综合天堂| 亚洲永久精品国产| 一区二区三区四区国产精品| 亚洲精品va在线观看| 1000精品久久久久久久久| 日韩伦理免费电影| 综合久久久久久久| 亚洲欧美日韩国产手机在线 | 欧美日韩高清在线| 欧美日韩国产精品自在自线| 欧美一区二区视频在线观看2020| 欧美一区二区啪啪| 精品国产一区二区三区久久久蜜月| 日韩免费一区二区| 精品国产乱码久久久久久浪潮| 国产精品入口麻豆原神| 久久综合久久鬼色| 97久久超碰国产精品| 91麻豆.com| 欧美日韩精品免费观看视频| 91精品国产综合久久久久久久 | 91精品国产高清一区二区三区蜜臀| 91麻豆精品久久久久蜜臀| 欧美第一区第二区| 国产精品久久久久影院亚瑟| 亚洲午夜久久久久中文字幕久| 日本中文字幕不卡| 国产成人亚洲精品青草天美| 色综合久久中文综合久久牛| 4438成人网| 欧美国产精品一区二区| 亚洲在线视频网站| 另类的小说在线视频另类成人小视频在线| 国产一区中文字幕| 色婷婷综合久久久中文字幕| 日韩精品资源二区在线| 亚洲桃色在线一区| 美女在线一区二区| 成人激情黄色小说| 91在线播放网址| 免费高清视频精品| 国产自产高清不卡| 色综合久久久网| 精品久久国产老人久久综合| 亚洲欧洲色图综合| 美女视频黄 久久| 日本道精品一区二区三区| 久久只精品国产| 亚洲国产成人av网| 99久久综合国产精品| 欧美mv日韩mv国产网站app| 一区二区成人在线视频 | 中文av一区特黄| 日韩av高清在线观看| 欧美人xxxx| 国产农村妇女毛片精品久久麻豆| 亚洲高清免费观看高清完整版在线观看| 国产一区二区三区免费看| 欧美色图免费看| 中文字幕在线不卡一区| 韩国精品久久久| 91精品中文字幕一区二区三区| 日韩伦理免费电影| 粉嫩一区二区三区性色av| 色屁屁一区二区| 精品国产一区二区在线观看| 国产精品盗摄一区二区三区| 夜夜嗨av一区二区三区四季av| 免费高清在线一区| 91免费观看在线| 国产欧美一区二区精品忘忧草| 美女脱光内衣内裤视频久久影院| 在线这里只有精品| 自拍视频在线观看一区二区| 国产成人免费高清| 欧美精品一区二区高清在线观看 | 成人va在线观看| 久久综合久久久久88| 美女视频网站久久| 日韩精品一区二区三区在线播放| 亚洲国产美女搞黄色| 91国产免费观看| 亚洲综合无码一区二区| 91麻豆成人久久精品二区三区| 综合色中文字幕| 91丨九色porny丨蝌蚪| 亚洲丝袜美腿综合| 一本一道波多野结衣一区二区| 亚洲免费观看高清完整版在线观看熊| 播五月开心婷婷综合| www成人在线观看| 91精品国产丝袜白色高跟鞋| 国内精品在线播放| 亚洲高清在线精品| 91精品福利在线一区二区三区| 亚洲人成小说网站色在线| 成人黄色网址在线观看| 亚洲欧美在线观看| 一本大道久久a久久综合| 一区二区三区产品免费精品久久75| 欧美在线三级电影| 日韩电影免费在线| 精品久久国产老人久久综合| 国产一二精品视频| 中文字幕一区二区三区视频 | 成人黄色av电影| 亚洲人xxxx| 欧美日韩一区二区三区四区 | 日韩理论片在线| 欧洲精品一区二区| 蜜桃久久久久久久| 久久精品欧美日韩| 91精品福利视频| 老司机免费视频一区二区| 国产精品私人影院| 欧美亚一区二区| 久久成人av少妇免费| 亚洲四区在线观看| 欧美精品乱码久久久久久| 在线视频国内自拍亚洲视频| 天天色图综合网| 欧美xxxxxxxxx|