TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
ZAIN ULARIFEEN
1.6k
143
150.2k
Capture image from fingerprint scanner in web using asp.net.
Sep 1 2015 11:36 AM
Capture image from fingerprint scanner in web using asp.net.
I know The Finger print reader can be used directly in windows application.
when i am applying in the web application give the following error in the code where area is highlighted.
Error
1
'Biometric.Default' does not contain a definition for 'Invoke' and no extension method 'Invoke' accepting a first argument of type 'Biometric.Default' could be found (are you missing a using directive or an assembly reference?)
Error is show in code where area is highlighted is given below
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;
}));
}
}
}
Reply
Answers (
1
)
How to get average values using stored procedure
Controll input from barcode