private void button1_Click(object sender, EventArgs e) { #region button1_Click //string[] rollFingerFilename = new string[] { "C:\\Temp\\huellas\\leftThumb.bmp", "C:\\Temp\\huellas\\rightIndex,bmp", "C:\\Temp\\huellas\\rightMiddle.bmp", "C:\\Temp\\huellas\\rightRing.bmp", "C:\\Temp\\huellas\\rightLittle.bmp" }; //int[] rollFingerType = new int[]{ RealScanExtendSDK.RSE_FGP_LEFT_THUMB, RealScanExtendSDK.RSE_FGP_LEFT_INDEX, RealScanExtendSDK.RSE_FGP_LEFT_MIDDLE, RealScanExtendSDK.RSE_FGP_LEFT_RING, RealScanExtendSDK.RSE_FGP_LEFT_LITTLE }; //string[] rollFingerFilename = new string[] { "rightLittle.bmp", "rightRing.bmp", "rightMiddle.bmp", "rightIndex,bmp" }; //int[] rollFingerType = new int[] { RealScanExtendSDK.RSE_FGP_LEFT_LITTLE, RealScanExtendSDK.RSE_FGP_LEFT_RING, RealScanExtendSDK.RSE_FGP_LEFT_MIDDLE, RealScanExtendSDK.RSE_FGP_LEFT_INDEX }; int numDedos = 0; RSESlapInfo RSESlapInfo = new RSESlapInfo(); try { if (Init_SDK() == false) { return; } if (initDevice() == false) { return; } if (RealScanExtendSDK.RSE_InitSDK() != 0) { MessageBox.Show("Error al inicializar SDK (RSE_SDK.DLL) ", "Error"); return; } int[] impressionTypes = new int[] { RealScanExtendSDK.RSE_IMP_NON_LIVESCAN_PLAIN }; int[] fingerPalmPositions = new int[] { RealScanExtendSDK.RSE_FGP_LEFT_INDEX }; string[] fingerPalmFilenames = new string[] { "C:\\Temp\\huellas\\dedo.bmp" }; //int result = RealScanExtendSDK.RSE_SegmentSlap("C:\\Temp\\huellas\\izq.bmp", RealScanExtendSDK.RSE_SLAP_LEFT_FOUR, ref numDedos, ref RSESlapInfo, true, "dedoIzq"); //int result = RealScanExtendSDK.RSE_MakeAN2007File(deviceHandle, "C:\\Temp\\huellas\\izq.bmp", null, null, 4, rollFingerType, rollFingerFilename, "C:\\Temp\\huellas\\testFile.an2"); int result = RealScanExtendSDK.RSE_SetType1Info("CPS", 4, "KR/KOR1", "KR/KOR2", "0747439609K", "TCR", ref info); //RSE_SetType1Info( string TOT, int priority, string DAI, string ORI, string TCN, string TCR, ref RSEType1Info info ); result = RealScanExtendSDK.RSE_MakeAN2007FileEx(deviceHandle, ref info, "C:\\Temp\\huellas\\dedoIzq07.bmp", "C:\\Temp\\huellas\\dedoIzq07.bmp", "C:\\Temp\\huellas\\dedoIzq07.bmp", 1, fingerPalmPositions, fingerPalmFilenames, "C:\\Temp\\huellas\\testFile.dat"); //result = RealScanExtendSDK.RSE_MakeAN2007File(deviceHandle, "C:\\Temp\\huellas\\dedoIzq07.bmp", null, null, 1, fingerPalmPositions, fingerPalmFilenames, "C:\\Temp\\huellas\\testFile.an2"); //int res = RealScanExtendSDK.RSE_MakeISOImageFile("C:\\Temp\\huellas\\dedoIzq07.bmp", null, null, 1, rollFingerType, rollFingerFilename, 0, rollFingerType, rollFingerFilename, false, "C:\\Temp\\huellas\\huella.img19794"); int res = RealScanExtendSDK.RSE_Make38104ImageFile(1010, 1, 1, impressionTypes, fingerPalmPositions, fingerPalmFilenames, "C:\\Temp\\huellas\\Result_INCITS381_2004.dat"); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { exit_Device(); } #endregion }
private void Form1_Load(object sender, EventArgs e) { #region Form1_Load switch (param[0]) { case "3": this.Text = "Captura: Pulgares"; label1.Text = "Pulgares faltantes:"; clbPulgar.Visible = true; clbDedo.Visible = false; break; case "4": this.Text = "Captura: dedos mano izquierda"; label1.Text = "Dedos faltantes:"; clbPulgar.Visible = false; clbDedo.Visible = true; break; case "5": this.Text = "Captura: dedos mano derecha"; label1.Text = "Dedos faltantes:"; clbPulgar.Visible = false; clbDedo.Visible = true; break; default: this.Text = "Captura"; break; } if (Init_SDK() == false) { return; } if (initDevice() == false) { return; } if (RealScanExtendSDK.RSE_InitSDK() != 0) { MessageBox.Show("Error al inicializar SDK (RSE_SDK.DLL) ", "Error"); return; } _selectedPrevMode = PrevMode.directDraw; SetPreview(); Take_Auto(); #endregion }
private void SegmentSaveImageCaptureProcess(IntPtr imageData, int imageWidth, int imageHeight, int numOfFingers, RSSlapInfoArray slapInfo, IntPtr[] ImageBuffer, int[] ImageWidth, int[] ImageHeight) { #region SegmentSaveImageCaptureProcess string bmp; string wsq; int dedo = 0; int result; int n = 0; byte[] huella = null; byte[] template = null; byte[] archivoWSQMem = null; int[] dedoPerdido = new int[] { 0, 0, 0, 0 }; int[] pulgarPerdido = new int[] { 0, 0 }; string palma; try { #region genera arreglo para identificar dedo sin huella switch (param[0]) { case "3": //PULGARES for (int i = 0; i < 2; i++) { if (clbPulgar.GetItemChecked(i)) { switch (i) { case 0: dedoPerdido[0] = 0; break; case 1: dedoPerdido[1] = 0; break; break; } } else { switch (i) { case 0: dedoPerdido[0] = 6; break; case 1: dedoPerdido[1] = 1; break; } } } break; case "4": //4 DEDOS MANO IZQUIERDA for (int i = 0; i < 4; i++) { if (clbDedo.GetItemChecked(i)) { switch (i) { case 0: dedoPerdido[0] = 0; break; case 1: dedoPerdido[1] = 0; break; case 2: dedoPerdido[2] = 0; break; case 3: dedoPerdido[3] = 0; break; } } else { switch (i) { case 0: dedoPerdido[0] = 10; break; case 1: dedoPerdido[1] = 9; break; case 2: dedoPerdido[2] = 8; break; case 3: dedoPerdido[3] = 7; break; } } } break; case "5": //4 DEDOS MANO DERECHA for (int i = 0; i < 4; i++) { if (clbDedo.GetItemChecked(i)) { switch (i) { case 0: dedoPerdido[3] = 0; break; case 1: dedoPerdido[2] = 0; break; case 2: dedoPerdido[1] = 0; break; case 3: dedoPerdido[0] = 0; break; } } else { switch (i) { case 0: dedoPerdido[3] = 5; break; case 1: dedoPerdido[2] = 4; break; case 2: dedoPerdido[1] = 3; break; case 3: dedoPerdido[0] = 2; break; } } } break; default: break; } #endregion #region codigo comentado //GENERA BMP DE LAS 4 HUELLAS //palma = param[1] + "palma_" + param[0] + ".bmp"; //RS_SDK.RS_SaveBitmap(imageData, imageWidth, imageHeight, palma); //if (m_result != RS_SDK.RS_SUCCESS) //{ // RS_SDK.RS_GetErrString(m_result, ref m_errorMsg); // MsgPanel.Text = m_errorMsg; //} #endregion //me conecto a la base de datos conn = new OracleConnection(Conexion(param[3])); conn.Open(); //ciclo que recorre el arreglo de huellas for (int i = 0; i < numOfFingers; i++) { //identifico el id del dedo que se le asignara a la huella dedo = 0; while (dedo == 0) { dedo = dedoPerdido[n]; n++; } //genero el nombre de los archivos y su ruta bmp = param[1] + param[2] + "_" + dedo + ".bmp"; wsq = param[1] + param[2] + "_" + dedo + ".wsq"; //genero imagen de la huella result = RS_SDK.RS_SaveBitmap(ImageBuffer[i], ImageWidth[i], ImageHeight[i], bmp); //cargo ewn memoria el archivo de la huella FileStream fs = new FileStream(bmp, FileMode.Open, FileAccess.Read); huella = new byte[fs.Length]; fs.Read(huella, 0, System.Convert.ToInt32(fs.Length)); fs.Close(); #region CODIGO DE PREUEBAS //result = RealScanExtendSDK.RSE_SaveRAW(ImageBuffer[i], ImageWidth[i], ImageHeight[i], "C:\\Temp\\huellas\\huella."+ "_" + dedo +"dat"); //creo el template... //template = new byte[ImageWidth[i] * ImageHeight[i]]; //Marshal.Copy(ImageBuffer[i], template, 0, ImageWidth[i] * ImageHeight[i]); #endregion //genero el archivo wsq RealScanExtendSDK.RSE_CompressWSQ(bmp, null, 3, wsq); //cargo en memoria el archivo wsq FileStream archivoWSQ = new FileStream(wsq, FileMode.Open, FileAccess.Read); archivoWSQMem = new byte[archivoWSQ.Length]; archivoWSQ.Read(archivoWSQMem, 0, System.Convert.ToInt32(archivoWSQ.Length)); archivoWSQ.Close(); //metodo que graba el registro en la base de datos RegistraHuella(dedo, huella, template, archivoWSQMem); //elimino los archivos del equipo File.Delete(bmp); File.Delete(wsq); } conn.Close(); conn.Dispose(); } catch (TargetInvocationException ex) { MsgPanel.Text = ex.Message; throw; } #endregion }