我一直在研究这个问题一段时间,我有一个 Topaz 签名板,用于在用户使用我正在开发的应用程序时捕获他们的签名。我正在使用 Topaz 提供的标准演示应用程序来执行此操作(https://topazsystems.com/Software/sigplusnet_csharp_wpfsimpledemo.zip)
我正在检索签名字符串,我可以将其保存到数据库(Microsoft SQL Server 2019);但是当我试图把它拉回来重建签名时,我不知道该怎么做。
我决定尝试“GetSigImage()”方法,但我也遇到了奇怪的错误见下文:
public ImageSource v;
sigPlusNET1.SetTabletState(0);
// Encrypt the signature.
sigPlusNET1.AutoKeyStart();
sigPlusNET1.SetAutoKeyData("123");
sigPlusNET1.AutoKeyFinish();
//sigPlusNET1.SetEncryptionMode(2);
//sigPlusNET1.SetSigCompressionMode(1);
// This is the Topaz format SigString that can be stored for future use.
v = GetImage(sigPlusNET1.GetSigImage());
我得到的错误是:
'Parameter is not valid.'
线上:
v = GetImage(sigPlusNET1.GetSigImage());
我的 GetImage() 方法是:
private ImageSource GetImage(Image source)
{
using (var ms = new MemoryStream())
{
source.Save(ms, ImageFormat.Bmp);
ms.Seek(0, SeekOrigin.Begin);
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.StreamSource = ms;
bitmapImage.EndInit();
return bitmapImage;
}
}
我不确定我做错了什么或没有想到什么。任何人都可以提供的任何帮助将不胜感激