亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产v综合v亚洲欧| 国产在线精品视频| 中文字幕在线免费不卡| 久久人人超碰精品| 精品电影一区二区| ww久久中文字幕| 欧美一二三在线| 日韩一级片网址| 国产婷婷色一区二区三区| 久久蜜桃一区二区| 国产欧美日韩三区| 日韩美女视频一区| 亚洲精品国产成人久久av盗摄| 亚洲免费av网站| 亚洲伊人色欲综合网| 亚洲国产综合在线| 美国十次了思思久久精品导航| 日本一不卡视频| 麻豆一区二区三| 国产suv一区二区三区88区| 99久久免费视频.com| 91成人免费电影| 日韩欧美激情在线| 中文字幕精品一区二区精品绿巨人 | 亚洲精品视频观看| 亚洲制服丝袜av| 黄页视频在线91| a亚洲天堂av| 欧美性色黄大片手机版| 欧美大白屁股肥臀xxxxxx| 国产三区在线成人av| 亚洲综合在线第一页| 久久爱www久久做| 丁香五精品蜜臀久久久久99网站 | 欧美一区二区日韩| 国产三级精品在线| 亚洲一二三专区| 高清不卡在线观看av| 精品1区2区3区| 久久久国产综合精品女国产盗摄| 国产精品你懂的在线| 亚瑟在线精品视频| www.日本不卡| 精品粉嫩超白一线天av| 一区二区三区91| 国产a精品视频| 911国产精品| 亚洲黄色小说网站| 国产在线视频不卡二| 色综合咪咪久久| 26uuu国产电影一区二区| 亚洲午夜电影在线| 99精品视频在线免费观看| 日韩视频在线永久播放| 亚洲精品高清视频在线观看| 国产在线播放一区| 日韩一区二区高清| 一区二区三区加勒比av| 成人app软件下载大全免费| 欧美精品欧美精品系列| 亚洲精品视频观看| 成人黄色一级视频| 国产日产精品一区| 国产福利91精品| 久久免费看少妇高潮| 久久精品99国产精品| 欧美肥大bbwbbw高潮| 一区二区日韩av| 91福利视频网站| 亚洲欧美日韩国产综合| 91丨九色丨蝌蚪富婆spa| 中文久久乱码一区二区| 国产精品一级黄| 国产亚洲综合在线| 国产一区二区伦理| 国产欧美综合色| 成人久久视频在线观看| 国产精品天美传媒| 成人久久18免费网站麻豆| 国产日韩精品一区二区浪潮av | 国产精品电影一区二区| 成人精品免费网站| 中文字幕亚洲一区二区av在线| 大白屁股一区二区视频| 亚洲欧美在线另类| 91浏览器在线视频| 亚洲国产综合视频在线观看| 欧美日韩另类国产亚洲欧美一级| 亚州成人在线电影| 精品国产免费一区二区三区香蕉| 另类成人小视频在线| 精品国产免费人成在线观看| 国产精品一线二线三线精华| 国产色产综合色产在线视频| 成人精品视频一区二区三区 | 欧美一级高清片| 九九热在线视频观看这里只有精品| 精品国产凹凸成av人导航| 国产黄色成人av| 亚洲精品ww久久久久久p站| 欧美另类变人与禽xxxxx| 国内精品免费**视频| 中文字幕av一区二区三区| 91麻豆视频网站| 日韩和欧美一区二区三区| 精品国精品自拍自在线| 95精品视频在线| 日韩精品亚洲一区二区三区免费| 精品久久国产97色综合| jizzjizzjizz欧美| 日韩在线a电影| 欧美国产日韩亚洲一区| 精品视频999| 国产99精品视频| 五月天婷婷综合| 国产欧美中文在线| 欧美精品高清视频| 成人午夜私人影院| 日韩电影一二三区| 国产精品美女久久久久高潮| 精品视频免费在线| 成人黄色在线网站| 久久99精品久久久| 亚洲综合无码一区二区| 国产女主播一区| 91精品免费在线| 色婷婷综合久久| 国产一区二区影院| 舔着乳尖日韩一区| 樱桃视频在线观看一区| 精品国产乱码久久久久久老虎| 91久久精品一区二区二区| 国产一区二区在线观看视频| 亚洲123区在线观看| 国产精品福利一区| 日韩欧美电影一二三| 欧美在线播放高清精品| 成人午夜视频在线| 国产精品亚洲一区二区三区妖精| 视频一区视频二区在线观看| 亚洲美女淫视频| 中文字幕一区免费在线观看| 久久无码av三级| 日韩欧美成人激情| 日韩欧美电影一二三| 91精品黄色片免费大全| 欧美色偷偷大香| 91久久香蕉国产日韩欧美9色| 不卡在线观看av| 国产成人午夜精品影院观看视频| 美女视频免费一区| 精品一区二区在线播放| 美女视频一区在线观看| 老司机精品视频导航| 久久国产精品一区二区| 久久99久久精品| 韩国理伦片一区二区三区在线播放| 人人爽香蕉精品| 日本在线观看不卡视频| 另类人妖一区二区av| 精油按摩中文字幕久久| 国产真实乱子伦精品视频| 国产电影精品久久禁18| 国产成人h网站| 成人国产精品免费| 色综合久久久网| 精品污污网站免费看| 制服丝袜中文字幕一区| 精品粉嫩aⅴ一区二区三区四区| 久久综合久久综合久久| 国产欧美精品在线观看| 中文字幕一区av| 同产精品九九九| 久草精品在线观看| 成人a级免费电影| 欧洲生活片亚洲生活在线观看| 欧美精品久久一区二区三区| 久久久噜噜噜久噜久久综合| 日本一区二区三区高清不卡| 一区在线中文字幕| 亚洲一二三专区| 美女视频黄频大全不卡视频在线播放| 国产一区二区在线观看视频| 91网站黄www| 日韩亚洲国产中文字幕欧美| 国产精品你懂的在线欣赏| 亚洲国产欧美日韩另类综合| 九一久久久久久| 91国产视频在线观看| 日韩亚洲欧美一区二区三区| 国产精品美女一区二区| 天天综合日日夜夜精品| 国产91在线观看丝袜| 欧美性高清videossexo| 久久久亚洲综合| 香蕉成人伊视频在线观看| 处破女av一区二区| 日韩欧美一区中文| 亚洲午夜精品在线| www.成人网.com|