可以在代码中添加一个判断,如果inputFile里没有上传图片文件,就让用户手动输入宽和高的值,并同步修改updateInputValues(width, height)里的值,最后再dispatch Event。

代码修改如下:

    function getImageSizeFromFile(input) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function (e) {
                loadImage(e.target.result);
            };
            reader.readAsDataURL(input.files[0]);
        } else {
            // 如果没有上传图片文件,让用户手动输入宽和高的值
            imgOriginalWidth.oninput = function () {
                imgOriginalHeight.value = Math.round(imgOriginalWidth.value / ratio);
                console.log(imgOriginalHeight.value);

                updateInputValues(imgOriginalWidth.value, imgOriginalHeight.value);

            };
            imgOriginalHeight.oninput = function () {
                imgOriginalWidth.value = Math.round(imgOriginalHeight.value * ratio);
                console.log(imgOriginalWidth.value);

                updateInputValues(imgOriginalWidth.value, imgOriginalHeight.value);
            };
            // 同步修改updateInputValues里的值,并dispatch Event
            updateInputValues(imgOriginalWidth.value, imgOriginalHeight.value);
            imgOriginalWidth.dispatchEvent(new Event("input", { bubbles: true }));
            imgOriginalHeight.dispatchEvent(new Event("input", { bubbles: true }));
        }
这个代码里需要做下扩展功能:当inputFile 里没有上传图片文件时在div id=showWidthHeight 宽:input type=text id=img-widthpx  高:input type=text id=img-heightpx div 这里面手动输入宽和高的值也会同步修改 updateInputValueswid

原文地址: https://www.cveoy.top/t/topic/fQMc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录