Member 14071109 Ответов: 0

Я попробовал проверить отпечатки пальцев, но не смог исправить свою проблему


Приведенный ниже код, который я сделал, пожалуйста, помогите мне запустить приложение windows или дайте любую ссылку, чтобы сделать заранее спасибо

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Biometric
{
    public delegate void OnTemplateEventHandler(DPFP.Template template);
    delegate void Function();
    public partial class Default : System.Web.UI.Page, DPFP.Capture.EventHandler
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            Init();
            Start();
        }
        protected void Start()
        {
            if (null != Capturer)
            {
                try
                {
                    Capturer.StartCapture();
                    SetPrompt("Using the fingerprint reader, scan your fingerprint.");
                }
                catch
                {
                    SetPrompt("Can't initiate capture!");
                }
            }
        }
        private DPFP.Processing.Enrollment Enroller;

        protected void SetPrompt(string prompt)
        {
            this.Invoke(new Function(delegate()
            {
                Prompt.Text = prompt;
            }));
        }
        protected void MakeReport(string message)
        {
            this.Invoke(new Function(delegate()
            {
                StatusText.Text += (message + "\r\n");
            }));
        }
        private void DrawPicture(Bitmap bitmap)
        {
            this.Invoke(new Function(delegate()
            {
                //fringerprint.ImageUrl = new Bitmap(bitmap, fringerprint); // fit the image into the picture box
            }));
        }
        Byte[] finger = null;
        private void fun_get_tmplete_fromdis()
        {
            if (fringerprint.ImageUrl != null)
            {
                MemoryStream fingerprintData = new MemoryStream();
                Template.Serialize(fingerprintData);
                fingerprintData.Position = 0;
                BinaryReader br = new BinaryReader(fingerprintData);
                finger = br.ReadBytes((Int32)fingerprintData.Length);
                br.Close();
            }
        }

        protected virtual void Init()
        {
            try
            {
                Capturer = new DPFP.Capture.Capture();
                if (null != Capturer)
                    Capturer.EventHandler = this;
                else
                    SetPrompt("Can't initiate capture operation!");
                Enroller = new DPFP.Processing.Enrollment();
                UpdateStatus();
            }
            catch
            {

            }
        }
        #region EventHandler Members:
        protected void Stop()
        {
            if (null != Capturer)
            {
                try
                {
                    Capturer.StopCapture();
                }
                catch
                {
                    SetPrompt("Can't terminate capture!");
                }
            }
        }
        private DPFP.Template Template;
        private void fun_get_templete(DPFP.Template template)
        {
            this.Invoke(new Function(delegate()
            {
                Template = template;
                if (Template != null)
                {
                    string script = "alert(\"The fingerprint template is ready for fingerprint verification.\");";
                    ScriptManager.RegisterStartupScript(this, GetType(),
                                          "ServerControlScript", script, true);

                }
                else
                {
                    string script = "alert(\"The fingerprint template is not valid. Repeat fingerprint enrollment.\");";
                    ScriptManager.RegisterStartupScript(this, GetType(),
                                          "ServerControlScript", script, true);

                }
            }));
        }
        protected virtual void Process(DPFP.Sample Sample)
        {
            DrawPicture(ConvertSampleToBitmap(Sample));
            DPFP.FeatureSet features = ExtractFeatures(Sample, DPFP.Processing.DataPurpose.Enrollment);
            if (features != null) try
                {
                    MakeReport("The fingerprint feature set was created.");
                    Enroller.AddFeatures(features);
                }
                finally
                {
                    UpdateStatus();
                    switch (Enroller.TemplateStatus)
                    {
                        case DPFP.Processing.Enrollment.Status.Ready:
                            fun_get_templete(Enroller.Template);
                            SetPrompt("Click Close, and then click Fingerprint Verification.");
                            break;
                        case DPFP.Processing.Enrollment.Status.Failed:
                            Enroller.Clear();
                            Stop();
                            UpdateStatus();
                            fun_get_templete(null);
                            break;
                    }
                }
        }
        public void OnComplete(object Capture, string ReaderSerialNumber, DPFP.Sample Sample)
        {
            MakeReport("The fingerprint sample was captured.");
            SetPrompt("Scan the same fingerprint again.");
            Process(Sample);
        }
        public void OnFingerGone(object Capture, string ReaderSerialNumber)
        {
            MakeReport("The finger was removed from the fingerprint reader.");
        }
        public void OnFingerTouch(object Capture, string ReaderSerialNumber)
        {
            MakeReport("The fingerprint reader was touched.");
        }
        public void OnReaderConnect(object Capture, string ReaderSerialNumber)
        {
            MakeReport("The fingerprint reader was connected.");
        }
        public void OnReaderDisconnect(object Capture, string ReaderSerialNumber)
        {
            MakeReport("The fingerprint reader was disconnected.");
        }
        public void OnSampleQuality(object Capture, string ReaderSerialNumber, DPFP.Capture.CaptureFeedback CaptureFeedback)
        {
            if (CaptureFeedback == DPFP.Capture.CaptureFeedback.Good)
                MakeReport("The quality of the fingerprint sample is good.");
            else
                MakeReport("The quality of the fingerprint sample is poor.");
        }
        #endregion
        protected Bitmap ConvertSampleToBitmap(DPFP.Sample Sample)
        {
            DPFP.Capture.SampleConversion Convertor = new DPFP.Capture.SampleConversion();
            Bitmap bitmap = null;
            Convertor.ConvertToPicture(Sample, ref bitmap);
            return bitmap;
        }
        protected DPFP.FeatureSet ExtractFeatures(DPFP.Sample Sample, DPFP.Processing.DataPurpose Purpose)
        {
            DPFP.Processing.FeatureExtraction Extractor = new DPFP.Processing.FeatureExtraction();
            DPFP.Capture.CaptureFeedback feedback = DPFP.Capture.CaptureFeedback.None;
            DPFP.FeatureSet features = new DPFP.FeatureSet();
            Extractor.CreateFeatureSet(Sample, Purpose, ref feedback, ref features);
            if (feedback == DPFP.Capture.CaptureFeedback.Good)
                return features;
            else
                return null;
        }

        private void UpdateStatus()
        {
            // Show number of samples needed.
            SetStatus(String.Format("Fingerprint samples needed: {0}", Enroller.FeaturesNeeded));
        }
        private DPFP.Capture.Capture Capturer;
        protected void SetStatus(string status)
        {
            this.Invoke(new Function(delegate()
            {
                StatusLine.Text = status;
            }));
        }

    }
}


Что я уже пробовал:

я сделал это почти но мне нужна какая то ссылка чтобы завершить его

Richard MacCutchan

В чем же проблема?

OriginalGriff

"ICantBeBotheredItis": https://www.codeproject.com/Questions/1272309/I-need-to-do-the-finger-print-identification-I-res

Member 14071109

Некоторые вызывают ошибку

Richard MacCutchan

О, Спасибо, это действительно все объясняет. Все, что вам нужно сделать, это исправить ошибку, и все это будет работать идеально.

Member 14071109

да но я не могу это прояснить вот почему спрашиваю об этом

Richard MacCutchan

Если вы хотите, чтобы люди помогли вам, то вы должны предоставить соответствующие детали вашей проблемы. Нехорошо говорить такие вещи, как, - это не работает." или "Некоторые вызывают ошибку" Мы понятия не имеем, что это должно означать, где это происходит в вашем коде или что вы на самом деле пытаетесь сделать.

Member 14071109

Ладно, вы задаете такой вопрос, это моя вина извините за то, что исправите его в следующий раз, можете ли вы дать мне ссылку на сканер отпечатков пальцев в c#, и я действительно оставлю этот код, я сделаю новый, можете ли вы помочь мне в этом

Richard MacCutchan

Код будет зависеть от сканирующего устройства. Вам нужно прочитать документацию или поговорить с производителем.

Member 14071109

спасибо оставьте этот разговор я сделаю

ZurdoDev

И что же вы хотите, чтобы мы сделали?

0 Ответов