javascriptdynamic-web-twain

Define ImageSize in div dwtcontrolContainer Dynamic Web TWAIN SDK APIs


How can I adjust the size of scanned image in dwtcontrolContainer div? Because when I scroll down the screen, the selected area never follows the mouse and select an area above the mouse click.

Bellow is my AcquireImage function:

function AcquireImage() {
            try {
                if (DWObject) {
                    var _obj = {};
                    _obj.IfShowUI = false;
                    _obj.PixelType = 0;
                    _obj.Resolution = 300;
                    _obj.IfFeederEnabled = true;
                    _obj.IfDuplexEnabled = false;
                    _obj.IfDisableSourceAfterAcquire = true; // Scanner source will be disabled/closed automatically after the scan.
                    _obj.Brightness = 10000;
                    _obj.MaxImagesInBuffer = 3;
                    _obj.PageSize = 0;
                    _obj.Contrast = 1000;

                    DWObject.SelectSourceByIndex(document.getElementById("rdlScanner").selectedIndex);
                    DWObject.OpenSource();
                    DWObject.AcquireImage(_obj);
                    DWObject.SetViewMode(-1, -1);

                    DWObject.CurrentImageIndexInBuffer = 0;

                    updatePageInfo();
                }

            }
            catch (err) {
                alert("Error: " + err.message);
            }
        }

I found http://developer.dynamsoft.com/dwt/dynamic-web-twain-how-to-resize-the-viewer-automatically but even configure the .js dynamsoft.webtwain.config.js doesn't work


Solution

  • Your link is about how to change the size of the viewer, not the image size. Here I changed your viewer size to 600x800:

    function AcquireImage() {
                try {
                    if (DWObject) {
                        DWObject.Width = 600; // viewer width
                        DWObject.Height = 800; // viewer height
                        var _obj = {};
                        _obj.IfShowUI = false;
                        _obj.PixelType = 0;
                        _obj.Resolution = 300;
                        _obj.IfFeederEnabled = true;
                        _obj.IfDuplexEnabled = false;
                        _obj.IfDisableSourceAfterAcquire = true; // Scanner source will be disabled/closed automatically after the scan.
                        _obj.Brightness = 10000;
                        _obj.MaxImagesInBuffer = 3;
                        _obj.PageSize = 0;
                        _obj.Contrast = 1000;
    
                        DWObject.SelectSourceByIndex(document.getElementById("rdlScanner").selectedIndex);
                        DWObject.OpenSource();
                        DWObject.AcquireImage(_obj);
                        DWObject.SetViewMode(-1, -1);
    
                        DWObject.CurrentImageIndexInBuffer = 0;
    
                        updatePageInfo();
                    }
    
                }
                catch (err) {
                    alert("Error: " + err.message);
                }
            }
    

    If you want to change the image size, visit this link: http://developer.dynamsoft.com/dwt/changeimagesize.

    I created two buttons to change the image size:

    function small() {
            var DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
            DWObject.ChangeImageSize(0, 300, 400, EnumDWT_InterpolationMethod.IM_NEARESTNEIGHBOUR);
        }
        function big() {
            var DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
            DWObject.ChangeImageSize(0, 600, 800, EnumDWT_InterpolationMethod.IM_NEARESTNEIGHBOUR);
        }
    

    enter image description here