Dynamic .NET TWAIN扫描控件是专门用于图片文档的扫描和处理,兼容TWAIN2.1规范,支持多种文件格式,可灵活的设置扫描的各种功能,进行基本的图片处理操作,保存和上传扫描后的图片,下面简单介绍开发人员在使用该产品时,经常会遇到的一些常见问题:
1.Dynamic .NET TWAIN怎么获取黑白的图片?
Twain1.OpenSource();
Twain1.IfShowUI = false;
Twain1.IfDisableSourceAfterAcquire = true;
Twain1.PixelType = Dynamsoft.DotNet.TWAIN.Enums.TWICapPixelType.TWPT_BW;
Twain1.AcquireImage();
2. Dynamic .NET TWAIN怎么在不出现扫描界面的情况下进行扫描?
private void BeginScan()
{
Twain1.OpenSource();
Twain1.IfShowUI = false; // set without user interface
Twain1.IfDisableSourceAfterAcquire = true;
Twain1.AcquireImage();
}
private void Twain1_OnPostTransfer()
{
Twain1.SaveAsBMP("c:\temp.bmp", 0);
}
3.Dynamic .NET TWAIN怎么只扫描图片的一部分?
Twain1.SelectSource();
Twain1.OpenSource();
Twain1.IfShowUI = false;
// Set Image Layout
Twain1.Unit = Dynamsoft.DotNet.TWAIN.Enums.TWICapUNits.TWUN_INCHES; // INCHES
Twain1.SetImageLayout(0, 0, 5, 5);
Twain1.AcquireImage();
4.Dynamic .NET TWAIN在不弹出选择扫描驱动对话框的情况下选择需要的扫描设备?
Twain1.OpenSourceManager();
int count = Twain1.SourceCount;
for (short lngNum = 0; lngNum < count; lngNum ++)
{
if (Twain1.SourceNameItems(lngNum) == "Specified device name")
{
Twain1.SelectSourceByIndex (lngNum);
break;
}
}
// if can't find the specified source, it'll select default source
Twain1.AcquireImage();
5.Dynamic .NET TWAIN当使用无界面扫描时,取消进度条指示框?
Twain1.IfShowUI = false;
Twain1.IfDisableSourceAfterAcquire = true;
Twain1.OpenSource();
Twain1.IfShowIndicator = false;
Twain1.AcquireImage();
6.Dynamic .NET TWAIN怎么分别设置X和Y方向的分辨率?
Twain1.SelectSource();
Twain1.OpenSource();
//Set XRESOLUTION current value.
Twain1.Capability = Dynamsoft.DotNet.TWAIN.Enums.TWCapability.ICAP_XRESOLUTION;
Twain1.CapType = Dynamsoft.DotNet.TWAIN.Enums.TWCapType.TWON_ONEVALUE;
Twain1.CapValue = 300;
if (Twain1.CapSet() == false)
MessageBox.Show("Failed to set the x-resolution.\r\n" + Twain1.ErrorString);
//Set YRESOLUTION current value.
Twain1.Capability = Dynamsoft.DotNet.TWAIN.Enums.TWCapability.ICAP_YRESOLUTION;
Twain1.CapType = Dynamsoft.DotNet.TWAIN.Enums.TWCapType.TWON_ONEVALUE;
Twain1.CapValue = 200;
if (Twain1.CapSet() == false)
MessageBox.Show("Failed to set the y-resolution.\r\n" + Twain1.ErrorString);
Twain1.AcquireImage();
7.Dynamic .NET TWAIN怎么上传扫描后的图片到WEB服务器?
private void BeginScan()
{
Twain1.AcquireImage();
}
private void Twain1_OnPostTransfer()
{
if (Twain1.HTTPUploadThroughPut("127.0.0.1", 0, "httpUploadFileTemp.bmp") == false)
MessageBox.Show(Twain1.ErrorString);
}
8.Dynamic .NET TWAIN怎么使用自动进纸?怎么保存每个文档为单独的文件?
int iDocumentCounter = 0;
private void ADFScan()
{
iDocumentCounter = 0; //set initialize value
Twain1.OpenSource();
Twain1.IfShowUI = false;
Twain1.IfDisableSourceAfterAcquire = true;
if (Twain1.Duplex != Dynamsoft.DotNet.TWAIN.Enums.TWICapDuplex.TWDX_NONE)
Twain1.IfDuplexEnabled = true; //enable duplex
if (Twain1.IfFeederEnabled)
{
Twain1.XferCount = -1;
Twain1.IfAutoFeed = true; //auto feed
if (Twain1.IfFeederLoaded)
Twain1.AcquireImage();
}
}
private void Twain1_OnPostTransfer()
{
iDocumentCounter = iDocumentCounter + 1;
if (!Twain1.SaveAsBMP(@"c:\" + iDocumentCounter.ToString() + ".bmp", 0))
MessageBox.Show(Twain1.ErrorString);
}
9.Dynamic .NET TWAIN怎么添加新的扫描图片到存在的多页TIFF文件?
private void Scan()
{
Twain1.AcquireImage();
}
private void Twain1_OnPostTransfer()
{
Twain1.CloseSource();
Twain1.IfTiffMultiPage = true;
Twain1.SaveAsTIFF (@"C:\SaveAsTIFF.tif", 0);
if (Twain1.ErrorCode != Dynamsoft.DotNet.TWAIN.Enums.ErrorCode.Succeed)
MessageBox.Show(Twain1.ErrorString);
else
MessageBox.Show("Successful");
}
10.怎么在保存图片前对图片进行旋转操作?
private void Scan()
{
Twain1.AcquireImage();
}
private void RotateLeft()
{
Twain1.RotateLeft(0);
}
private void RotateRight()
{
Twain1.RotateRight(0);
}
private void Rotate()
{
Twain1.Rotate(0, 45.0, true, Dynamsoft.DotNet.TWAIN.Enums.DWTInterpolationMethod.Bicubic);
}