C# Twain扫描输出将intptr转换为图像
使用twain扫描仪进行扫描,并在Mdi表单中显示代码输出我需要将其显示在picturebox中,是否可能?我试着将intptr转换成image或其他什么,但没有找到正确的方法 下面是代码C# Twain扫描输出将intptr转换为图像,c#,twain,image-scanner,C#,Twain,Image Scanner,使用twain扫描仪进行扫描,并在Mdi表单中显示代码输出我需要将其显示在picturebox中,是否可能?我试着将intptr转换成image或其他什么,但没有找到正确的方法 下面是代码 case TwainCommand.TransferReady: { ArrayList pics = tw.TransferPictures();
case TwainCommand.TransferReady:
{
ArrayList pics = tw.TransferPictures();
EndingScan();
tw.CloseSrc();
picnumber++;
for (int i = 0; i < pics.Count; i++)
{
IntPtr img = (IntPtr)pics[i];
PicForm newpic = new PicForm(img);
newpic.MdiParent = this;
int picnum = i + 1;
newpic.Text = "ScanPass" + picnumber.ToString() + "_Pic" + picnum.ToString();
newpic.Show();
}
break;
public ArrayList TransferPictures()
{
ArrayList pics = new ArrayList();
if( srcds.Id == IntPtr.Zero )
return pics;
TwRC rc;
IntPtr hbitmap = IntPtr.Zero;
TwPendingXfers pxfr = new TwPendingXfers();
do
{
pxfr.Count = 0;
hbitmap = IntPtr.Zero;
TwImageInfo iinf = new TwImageInfo();
rc = DSiinf( appid, srcds, TwDG.Image, TwDAT.ImageInfo, TwMSG.Get, iinf );
if( rc != TwRC.Success )
{
CloseSrc();
return pics;
}
rc = DSixfer( appid, srcds, TwDG.Image, TwDAT.ImageNativeXfer, TwMSG.Get, ref hbitmap );
if( rc != TwRC.XferDone )
{
CloseSrc();
return pics;
}
rc = DSpxfer( appid, srcds, TwDG.Control, TwDAT.PendingXfers, TwMSG.EndXfer, pxfr );
if( rc != TwRC.Success )
{
CloseSrc();
return pics;
}
pics.Add( hbitmap );
}
while( pxfr.Count != 0 );
rc = DSpxfer( appid, srcds, TwDG.Control, TwDAT.PendingXfers, TwMSG.Reset, pxfr );
return pics;
}
case TwainCommand.TransferReady:
{
ArrayList pics=tw.TransferPictures();
EndingScan();
tw.CloseSrc();
picnumber++;
对于(int i=0;i
您可以使用位图构造函数。有关详细信息,请访问: