C#에서 지문을 사용하여 사용자를 로그인/인증하려는 프로젝트를 개발 중입니다.C# 프로젝트에서 ZK4500 지문 스캐너 SDK를 사용하는 방법
ZK4500 지문 인식 스캐너를 구입하여 http://www.zkteco.com/product/ZK4500_238.html에서 SDK를 받았습니다. SDK는 C++입니다.
그래서이 SDK를 C# 프로젝트와 통합하여 원하는 기능을 수행하려면 어떻게해야합니까?
C#에서 지문을 사용하여 사용자를 로그인/인증하려는 프로젝트를 개발 중입니다.C# 프로젝트에서 ZK4500 지문 스캐너 SDK를 사용하는 방법
ZK4500 지문 인식 스캐너를 구입하여 http://www.zkteco.com/product/ZK4500_238.html에서 SDK를 받았습니다. SDK는 C++입니다.
그래서이 SDK를 C# 프로젝트와 통합하여 원하는 기능을 수행하려면 어떻게해야합니까?
COM 유형 라이브러리에 표시되는 ZKFPEngXControl에 대한 참조를 추가해야합니다. 그런 다음 ZKFPEngX 클래스를 사용하여 필요한 모든 작업을 수행 할 수 있습니다. 당신은 당신의 자신의 방법을 쓸 수
using ZKFPEngXControl;
다음
ZKFPEngX fp = new ZKFPEngX();
fp.SensorIndex = 0;
fp.InitEngine(); // Do validation as well as it returns an integer (0 for success, else error code 1-3)
//subscribe to event for getting when user places his/her finger
fp.OnImageReceived += new IZKFPEngXEvents_OnImageReceivedEventHandler(fp_OnImageReceived);
는 이벤트를 처리 할 fp_OnImageReceived. 예를 들어,이 메소드에 이것을 쓸 수 있습니다. imgdata이 bytes.You의 배열은 또한 당신의 목표를 달성하기 위해, ZKFPEngX 다른 방법을 사용할 수있다
object imgdata = new object();
bool b = fp.GetFingerImage(ref imgdata);
. 양식이 닫힐 때 엔진을 닫아야합니다.
fp.EndEngine();
당신은
BeginEnroll()
이 실행되었을 때 이벤트가 호출됩니다
OnEnroll(bool ActionResult, object ATemplate)
Event.This에서 지문을 저장할 수
나는 당신의 배려를 정말로 기쁘게 생각하며, 당신의 대답은 도움이되고, 나는 올바른 길로 나에게 보인다. 하지만이 장치를 사용하여 사용자를 등록하고 등록 된 지문에 대해 사용자 지문을 인증하는 데 더 많은 도움을 주실 수 있습니까? –
SDK와 함께 지원 문서가 있어야합니다. 사용할 수있는 모든 기능과 방법을 신중하게 읽으십시오. pdf 문서 파일을 찾을 수 없으면 요청할 수 있습니다. – Khan
예. 설명서 파일이 있지만 나에게 도움이되지 않습니다. 이제 이미지를 문자열로 가져 와서'zkfpeng.GetTemplateAsStringEx ("10")'과 같은 데이터베이스에 저장하려고하지만'null '을 반환하고 그 후에 데이터베이스에서 가져온 것과 템플릿에서 가져온 템플릿을 비교할 것입니다. 생체 인식 장치를 그 자리에서 인증 할 때 사용합니다. (zkfpEng.VerFingerFromStr (ref bTemp, sTemp, false, ref RegChanged)'. 이제 완전히 어둠 속에서 낙서하고 있습니다. *. –
.
//Add an event handler on OnEnroll Event
ZKFPEngX x = new ZKFPEngX();
x.OnEnroll += X_OnEnroll;
private void X_OnEnroll(bool ActionResult, object ATemplate)
{
if (ActionResult)
{
if (x.LastQuality >= 80) //to ensure the fingerprint quality
{
string regTemplate = x.GetTemplateAsStringEx("9");
File.WriteAllText(Application.StartupPath + "\\fingerprint.txt", regTemplate);
}
else
{
//Quality is too low
}
}
else
{
//Register Failed
}
}
OnCapture(bool ActionResult, object ATemplate)
이벤트에서 지문을 확인할 수 있습니다. 이 이벤트는 손가락을 스캐너에 올려 놓으면 호출됩니다.
OnCapture 이벤트에 이벤트 처리기를 추가
x.OnCapture += X_OnCapture;
는 지문을 확인 이벤트가 (손가락이 스캐너에 넣어)가 호출 된 경우 :
private void X_OnCapture(bool ActionResult, object ATemplate)
{
if (ActionResult) //if fingerprint is captured successfully
{
bool ARegFeatureChanged = true;
string regTemplate = File.ReadAllText(Application.StartupPath + "\\fingerprint.txt");
string verTemplate = x.GetTemplateAsString();
bool result = x.VerFingerFromStr(regTemplate , verTemplate, false, ARegFeatureChanged);
if (result)
{
//matched
}
else
{
//not matched
}
}
else
{
//failed to capture a valid fingerprint
}
}
하지 마십시오 키워드 대담한. 태그를 사용하여 키워드를 강조해야합니다. –