コード例 #1
0
 private void evt_transferImage(object sender, TransferImageEventArgs e)
 {
     if (e.Image != null)
     {
         _lstImages.Add(e.Image);
     }
 }
コード例 #2
0
 void _twain_TransferImage(object sender, TransferImageEventArgs e)
 {
     if (e.Image != null)
     {
         _image = e.Image;
     }
 }
コード例 #3
0
ファイル: ScanDialog.xaml.cs プロジェクト: bamusasoft/JSA
 void OnTrasnferImage(object sender, TransferImageEventArgs e)
 {
     //Note: Is you intend to support scan more than on page
     //Define a List if type Bitmap and come here to add the
     //e.Image result to the your list.
     //Otherwise just set the e.Image to the ImageSource property
     //Take note in one page scan senario that if there are more than one page on the scanner feeder
     //only the last document will be shown on the imagesource
     if (e.Image != null)
     {
         ScannedImageSource = CreateBitmapSource(e.Image);
         ScannedImage       = e.Image;
     }
 }
コード例 #4
0
        private void Twain_TransferImage(object sender, TransferImageEventArgs e)
        {
            if (e.Image != null)
            {
                Log("Image transfered");
                var img = e.Image;
                if (_images == null)
                {
                    _images = new List <Image>();
                }

                _images.Add((Image)img.Clone());
                img.Dispose();
            }
        }
コード例 #5
0
 private void Twain_TransferImage(object sender, TransferImageEventArgs e)
 {
     if (e.Image != null)
     {
         Image image = new Image();
         image.Source = Imaging.CreateBitmapSourceFromHBitmap(
             new System.Drawing.Bitmap(e.Image).GetHbitmap(),
             IntPtr.Zero,
             Int32Rect.Empty,
             BitmapSizeOptions.FromEmptyOptions());
         image.Margin = new Thickness(2);
         this.StackPanelImages.Children.Add(image);
         this.m_ImageList.Add(image);
     }
 }
コード例 #6
0
 private void Sw_TransferTempImage(object sender, TransferImageEventArgs e)
 {
     try
     {
         Dispatcher.Invoke(() =>
         {
             IntPtr hbitmap   = new Bitmap(e.Image).GetHbitmap();
             MainImage.Source = Imaging.CreateBitmapSourceFromHBitmap(
                 hbitmap,
                 IntPtr.Zero,
                 Int32Rect.Empty,
                 BitmapSizeOptions.FromRotation(Rotation.Rotate270));
             Gdi32Native.DeleteObject(hbitmap);
         });
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
     }
 }
コード例 #7
0
        private void _twain_TransferImage(object sender, TransferImageEventArgs e)
        {
            if (e.Image != null)
            {
                lst.Add(e.Image);
            }

            //if (e.Image != null)
            //{
            //    if (i == 1)
            //    {
            //        image1.Source = BitmapToImageSource(e.Image);
            //        i++;
            //    }
            //    else
            //    {
            //        image2.Source = BitmapToImageSource(e.Image);
            //        i = 1;
            //    }
            //}
        }
コード例 #8
0
        private void _twain_TransferImage(object sender, TransferImageEventArgs e)
        {
            //IsEnabled = true;
            if (e.Image != null)
            {
                resultImage = e.Image;
                string savePath = @"C:\Users\Tenny\Pictures\TwainTest\testBufferPic_";
                savePath += imageCount.ToString() + @".bmp";
                resultImage.Save(savePath, System.Drawing.Imaging.ImageFormat.Bmp);
                fileName.Content = savePath;

                IntPtr hbitmap = new Bitmap(e.Image).GetHbitmap();
                MainImage.Source = Imaging.CreateBitmapSourceFromHBitmap(
                    hbitmap,
                    IntPtr.Zero,
                    Int32Rect.Empty,
                    BitmapSizeOptions.FromEmptyOptions());
                Gdi32Native.DeleteObject(hbitmap);

                imageCount++;
            }
        }
コード例 #9
0
 private void Sw_TransferCompleteImage(object sender, TransferImageEventArgs e)
 {
     try
     {
         Dispatcher.Invoke(() =>
         {
             IntPtr hbitmap   = new Bitmap(e.Image).GetHbitmap();
             MainImage.Source = Imaging.CreateBitmapSourceFromHBitmap(
                 hbitmap,
                 IntPtr.Zero,
                 Int32Rect.Empty,
                 BitmapSizeOptions.FromRotation(Rotation.Rotate270));
             Gdi32Native.DeleteObject(hbitmap);
             fileName.Content       = "complete!";
             progressBar.Visibility = Visibility.Hidden;
         });
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
     }
 }
コード例 #10
0
        private void _twain_TransferImage(object sender, TransferImageEventArgs e)
        {
            //IsEnabled = true;
            if (e.Image != null)
            {
                resultImage = e.Image;
                resultImage = SwapRedAndBlueChannels(resultImage);
                string savePath = @"C:\Users\Tenny\Pictures\TwainTest\testBufferPic_";
                savePath += imageCount.ToString() + @".bmp";
                resultImage.Save(savePath, System.Drawing.Imaging.ImageFormat.Bmp);
                OnTransferTempImage(resultImage, e.ContinueScanning, e.PercentComplete);
                //fileName.Content = savePath;

                //IntPtr hbitmap = new Bitmap(e.Image).GetHbitmap();
                //MainImage.Source = Imaging.CreateBitmapSourceFromHBitmap(
                //        hbitmap,
                //        IntPtr.Zero,
                //        Int32Rect.Empty,
                //        BitmapSizeOptions.FromEmptyOptions());
                //Gdi32Native.DeleteObject(hbitmap);

                imageCount++;
            }
        }
コード例 #11
0
ファイル: MainWindow.cs プロジェクト: Spierek/biomet-handscan
 private void HandleImageScanFinished(Object sender, TransferImageEventArgs e)
 {
     m_ScanManager.Twain.TransferImage -= HandleImageScanFinished;
     scanImageButton.Enabled            = true;
     HandleImageScanFinished(e.Image, true, false);
 }
コード例 #12
0
        public void OnTransferComplete(Bitmap image)
        {
            TransferImageEventArgs e = new TransferImageEventArgs(image, false, 1);

            TransferCompleteImage?.Invoke(this, e);
        }
コード例 #13
0
        public void OnTransferTempImage(Bitmap image, bool continueScanning, float percentage)
        {
            TransferImageEventArgs e = new TransferImageEventArgs(image, continueScanning, percentage);

            TransferTempImage?.Invoke(this, e);
        }
コード例 #14
0
        protected void TransferPictures()
        {
            if (DataSource.SourceId.Id == 0)
            {
                return;
            }

            PendingXfers pendingTransfer = new PendingXfers();
            TwainResult  result;

            try
            {
                do
                {
                    pendingTransfer.Count = 0;
                    IntPtr hbitmap = IntPtr.Zero;

                    // Get the image info
                    ImageInfo imageInfo = new ImageInfo();
                    result = Twain32Native.DsImageInfo(
                        ApplicationId,
                        DataSource.SourceId,
                        DataGroup.Image,
                        DataArgumentType.ImageInfo,
                        Message.Get,
                        imageInfo);

                    if (result != TwainResult.Success)
                    {
                        DataSource.Close();
                        break;
                    }

                    // Transfer the image from the device
                    result = Twain32Native.DsImageTransfer(
                        ApplicationId,
                        DataSource.SourceId,
                        DataGroup.Image,
                        DataArgumentType.ImageNativeXfer,
                        Message.Get,
                        ref hbitmap);

                    if (result != TwainResult.XferDone)
                    {
                        DataSource.Close();
                        break;
                    }

                    // End pending transfers
                    result = Twain32Native.DsPendingTransfer(
                        ApplicationId,
                        DataSource.SourceId,
                        DataGroup.Control,
                        DataArgumentType.PendingXfers,
                        Message.EndXfer,
                        pendingTransfer);

                    if (result != TwainResult.Success)
                    {
                        DataSource.Close();
                        break;
                    }

                    if (hbitmap == IntPtr.Zero)
                    {
                        log.Warn("Transfer complete but bitmap pointer is still null.");
                    }
                    else
                    {
                        using (var renderer = new BitmapRenderer(hbitmap))
                        {
                            TransferImageEventArgs args = new TransferImageEventArgs(renderer.RenderToBitmap(), pendingTransfer.Count != 0);
                            TransferImage(this, args);
                            if (!args.ContinueScanning)
                            {
                                break;
                            }
                        }
                    }
                }while (pendingTransfer.Count != 0);
            }
            finally
            {
                // Reset any pending transfers
                result = Twain32Native.DsPendingTransfer(
                    ApplicationId,
                    DataSource.SourceId,
                    DataGroup.Control,
                    DataArgumentType.PendingXfers,
                    Message.Reset,
                    pendingTransfer);
            }
        }