private void evt_transferImage(object sender, TransferImageEventArgs e) { if (e.Image != null) { _lstImages.Add(e.Image); } }
void _twain_TransferImage(object sender, TransferImageEventArgs e) { if (e.Image != null) { _image = e.Image; } }
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; } }
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(); } }
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); } }
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); } }
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; // } //} }
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++; } }
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); } }
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++; } }
private void HandleImageScanFinished(Object sender, TransferImageEventArgs e) { m_ScanManager.Twain.TransferImage -= HandleImageScanFinished; scanImageButton.Enabled = true; HandleImageScanFinished(e.Image, true, false); }
public void OnTransferComplete(Bitmap image) { TransferImageEventArgs e = new TransferImageEventArgs(image, false, 1); TransferCompleteImage?.Invoke(this, e); }
public void OnTransferTempImage(Bitmap image, bool continueScanning, float percentage) { TransferImageEventArgs e = new TransferImageEventArgs(image, continueScanning, percentage); TransferTempImage?.Invoke(this, e); }
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); } }