Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Twain扫描输出将intptr转换为图像_C#_Twain_Image Scanner - Fatal编程技术网

C# Twain扫描输出将intptr转换为图像

C# Twain扫描输出将intptr转换为图像,c#,twain,image-scanner,C#,Twain,Image Scanner,使用twain扫描仪进行扫描,并在Mdi表单中显示代码输出我需要将其显示在picturebox中,是否可能?我试着将intptr转换成image或其他什么,但没有找到正确的方法 下面是代码 case TwainCommand.TransferReady: { ArrayList pics = tw.TransferPictures();

使用twain扫描仪进行扫描,并在Mdi表单中显示代码输出我需要将其显示在picturebox中,是否可能?我试着将intptr转换成image或其他什么,但没有找到正确的方法

下面是代码

                        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
您可以使用位图构造函数。有关详细信息,请访问: