コード例 #1
0
        bool IMessageFilter.PreFilterMessage(ref Message m)
        {
            TwainCommand cmd = tw.PassMessage(ref m);

            if (cmd == TwainCommand.Not)
            {
                return(false);
            }

            switch (cmd)
            {
            case TwainCommand.CloseRequest:
            {
                EndingScan();
                tw.CloseSrc();
                break;
            }

            case TwainCommand.CloseOk:
            {
                EndingScan();
                tw.CloseSrc();
                break;
            }

            case TwainCommand.DeviceEvent:
            {
                break;
            }

            case TwainCommand.TransferReady:
            {
                this.SaveImages();
                break;
            }

            default:
            {
                return(false);
            }
            }

            return(true);
        }
        bool IMessageFilter.PreFilterMessage(ref Message m)
        {
            TwainCommand cmd = tw.PassMessage(ref m);

            if (cmd == TwainCommand.Not)
            {
                return(false);
            }

            switch (cmd)
            {
            case TwainCommand.CloseRequest:
            {
                EndingScan();
                tw.CloseSrc();
                break;
            }

            case TwainCommand.CloseOk:
            {
                EndingScan();
                tw.CloseSrc();
                break;
            }

            case TwainCommand.DeviceEvent:
            {
                break;
            }

            case TwainCommand.TransferReady:
            {
                int ImgNumber = 0;

                ArrayList pics = tw.TransferPictures();
                EndingScan();
                tw.CloseSrc();
                picnumber++;

                if (oBatch.Find(_CompanyID, _CustomerID, _Teacher))
                {
                    //ImgNumber = oBatch._ImageFinal;
                }

                //    oBatch._ImageInitial = 1;
                oBatch.CompanyID = _CompanyID;
                //    oBatch.CustomerID = _CustomerID;


                int i;
                for (i = 0; i < pics.Count; i++)
                {
                    IntPtr img = (IntPtr)pics[i];

                    {
                        bmprect = new Rectangle(0, 0, 0, 0);
                        bmpptr  = GlobalLock(img);
                        pixptr  = GetPixelInfo(bmpptr);
                        int picnum = ImgNumber + i + 1;

                        //Gdip.SavePicToFile("ScanPass" + picnum.ToString() + ".tiff", bmpptr, pixptr);
                        Gdip.SavePicToFile("Images/Order-" + _CompanyID.PadLeft(2, '0') + _CustomerID.PadLeft(4, '0') + _Batch.PadLeft(3, '0') + picnum.ToString().PadLeft(4, '0') + ".tif", bmpptr, pixptr);
                    }
                }

                //Save Batch Here

                //oBatch._ImageFinal = ImgNumber + i;
                //oBatch._NumberImages += i;
                //oBatch.Teacher = _Teacher;
                oBatch.Save();



                break;
            }

            default:
            {
                return(false);
            }
            }

            return(true);
        }