public string DetectMICRLine(string ImageFile) { string errorCode; // CloseNativeImage(); _imageId = _gdPictureImaging.CreateGdPictureImageFromFile(ImageFile); _gdPictureImaging.AutoDeskew(_imageId); // System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); // sw.Start(); int Length = 36; StringBuilder result = new StringBuilder(_gdPictureImaging.MICRDoMICR(_imageId, MICRFont.MICRFontE13B, MICRContext.MICRContextLineFinding, "0123456789ABCD", Length)); result = result.Replace(System.Convert.ToString('\0'), "?"); // sw.Stop(); GdPictureStatus status = _gdPictureImaging.GetStat(); if (status == GdPictureStatus.OK) { result.ToString(); } else { errorCode = status.ToString(); return(errorCode); } _gdPictureImaging.Dispose(); return(result.ToString()); }
/// <summary> /// Dispose service /// </summary> public void Dispose() { if (imageId != 0) { imaging?.ReleaseGdPictureImage(imageId); } imaging?.Dispose(); imageId = 0; }