Esempio n. 1
0
        private void _btnOK_Click(object sender, System.EventArgs e)
        {
            RasterImageFormat format       = RasterImageFormat.Tif;
            string            baseFileName = "";
            bool multiPage = true;
            int  bpp       = 1;

            switch (_transferMode)
            {
            case TwainTransferMode.File:
                format = _format[_cmbFileFormats.SelectedIndex];
                if (!_cmbFileFormats.Text.Equals("TIFF MULTI"))
                {
                    multiPage = false;
                }
                break;

            case TwainTransferMode.Buffer:
                if (_cbUseBufferSize.Checked && _txtBufferSize.Text == "0")
                {
                    Messager.ShowError(this, "Please, enter valid custom buffer size");
                    return;
                }

                format    = _format[_cmbFileFormats.SelectedIndex];
                bpp       = _memoryFormatBPP[_cmbFileFormats.SelectedIndex];
                multiPage = _memoryFormatMulti[_cmbFileFormats.SelectedIndex];
                break;

            case TwainTransferMode.Native:
                format = _imageLEADFormat;
                bpp    = _nativeBPP;
                break;
            }

            Hide();
            try
            {
                _session.EnableAcquireMultiPageEvent = false;
                baseFileName = _txtFileName.Text;

                _session.AcquireFast(baseFileName,
                                     TwainFastUserInterfaceFlags.Show | TwainFastUserInterfaceFlags.Modal,
                                     _transferMode,
                                     format,
                                     bpp,
                                     multiPage,
                                     _bufferSize,
                                     !_cbUseBufferSize.Checked);
                Messager.ShowInformation(this, "Process Completed");
            }
            catch (Exception ex)
            {
                Messager.ShowError(this, ex);
            }

            DialogResult = DialogResult.OK;
        }