public VariantConverter(OutputType Output, DigitalPersona.Standards.DataType _dataType, DigitalPersona.Standards.InputParameterForRaw _inpRaw, byte[] _inputData, bool _WriteOutputToFile = false) { try { cbOutputType = Output; dataType = _dataType; inpRaw = _inpRaw; inputData = _inputData; WriteOutputToFile = _WriteOutputToFile; } catch (Exception ex) { throw ex; } }
public byte[] Convert() { string ext = null; // holds the file extension DigitalPersona.Standards.DataType outputType = DigitalPersona.Standards.DataType.DPTemplate; switch (cbOutputType) { case VariantConverter.OutputType.dp_sample: { // DP Sample ext = "dp_sample"; outputType = DigitalPersona.Standards.DataType.DpSample; break; } case VariantConverter.OutputType.dp_tmpl: { // DP Template ext = "dp_tmpl"; outputType = DigitalPersona.Standards.DataType.DPTemplate; break; } case VariantConverter.OutputType.dp_ftr: { // DP Feature Set ext = "dp_ftr"; outputType = DigitalPersona.Standards.DataType.DPFeatureSet; break; } case VariantConverter.OutputType.ansi_sample: { // ANSI Sample ext = "ansi_sample"; outputType = DigitalPersona.Standards.DataType.ANSISample; break; } case VariantConverter.OutputType.ansi_ftr: { // ANSI Feature Set ext = "ansi_ftr"; outputType = DigitalPersona.Standards.DataType.ANSIFeatureSet; break; } //case VariantConverter.OutputType.ansi: // { // // ANSI Template // ext = "ansi_tmpl"; // outputType = DigitalPersona.Standards.DataType.ANSITemplate; // break; // } case VariantConverter.OutputType.ansi_tmplX: { // ANSI Template Extended ext = "ansi_tmplX"; outputType = DigitalPersona.Standards.DataType.ANSITemplateWithExtendedData; break; } case VariantConverter.OutputType.iso_sample: { // ISO Sample ext = "iso_sample"; outputType = DigitalPersona.Standards.DataType.ISOSample; break; } case VariantConverter.OutputType.iso_ftr: { // ISO Feature Set ext = "iso_ftr"; outputType = DigitalPersona.Standards.DataType.ISOFeatureSet; break; } case VariantConverter.OutputType.iso_tmpl: { // ISO Template ext = "iso_tmpl"; outputType = DigitalPersona.Standards.DataType.ISOTemplate; break; } case VariantConverter.OutputType.iso_tmplX: { // ISO Template Extended ext = "iso_tmplX"; outputType = DigitalPersona.Standards.DataType.ISOTemplateWithExtendedData; break; } } byte[] dataToFile = null; try { if (dataType == DigitalPersona.Standards.DataType.RawSample) { if (outputType != DigitalPersona.Standards.DataType.ISOSample && outputType != DigitalPersona.Standards.DataType.ANSISample && outputType != DigitalPersona.Standards.DataType.DpSample) { MessageBox.Show("You can only convert a raw sample to another sample format. Please select an appropriate output type."); return(null); } Object outParameter = null; dataToFile = DigitalPersona.Standards.Converter.Convert(inputData, dataType, inpRaw, outputType, outParameter); } else { dataToFile = DigitalPersona.Standards.Converter.Convert(inputData, dataType, outputType); } } catch (Exception ex) { throw ex; } if (WriteOutputToFile) { SaveFileDialog dlgSave = new SaveFileDialog(); dlgSave.Filter = "Biometric File| *." + ext; dlgSave.Title = "Save Biometric Data"; if (dlgSave.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) { return(null); } String fileName = dlgSave.FileName; FileStream fsOut = new FileStream(fileName, FileMode.Create, FileAccess.Write); BinaryWriter writer = new BinaryWriter(fsOut); writer.Write(dataToFile); writer.Close(); fsOut.Close(); MessageBox.Show("Successfully Saved File " + dlgSave.FileName); } return(dataToFile); }