javascript - 如何在 javascript 中调整图像大小

标签 javascript image

我有一个 HTML 编辑器,可以使用 javascript 从预定义按钮插入项目,并且希望添加一个按钮,以便能够发布下载图像的缩略图以及查看完整尺寸的链接。我创建了以下代码,但它不起作用并且总是插入 100X100 大小的图像。谁能建议一种更好的有效方法?

    // insert HTML code
insertHtml: function (url, title) {
    var imgHeight;
    var imgWidth;
    function setHTMLImageSize() {
        imgHeight = this.height;
        imgWidth = this.width;
        var ImageRatio = (imgHeight / imgWidth);
        if (imgWidth > 100) {
            imgWidth = 100;
            imgHeight = (imgWidth * ImageRatio);
        }
        return true;
    }
    var myImage = new Image();
    myImage.name = url;
    myImage.onload = setHTMLImageSize;
    myImage.src = url;
    if (imgWidth = 0) {
        imgWidth = 100;
    }
    if (imgHeight = 0) {
        imgHeight = 100;
    }
    this.get_designPanel().insertHTML("<a href=\"" + url + "\" target=\"" + "_blank" + "\" style=\"" + "text-decoration: none" + "\" ><img src=\"" + url + "\" title=\"" + title + "\" width=\"" + imgWidth + "\" height=\"" + imgHeight + "\" /></a><br/>click image to View full size<br/>");
}

最佳答案

在 onload 函数触发之前,您将宽度和高度设置为 100。加载将异步发生,因此您应该检查回调内的高度或宽度是否为零。

编辑:- 正如 enhzflep 在下面的评论中所观察到的,您还使用 equal 作为赋值而不是检查条件。当您知道所需的类型时,我通常会将它们更改为三重等于 === 。

通过 CSS 控制缩略图不是更简单吗?您可以设置 max-height 和 max-width 属性来保持宽高比。

关于javascript - 如何在 javascript 中调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41085061/

相关文章:

javascript - 为什么名称为 "clear"的函数在 JavaScript 中不起作用

javascript - 如何过滤包含链接和纯文本的列表?

android - 如何在android中为按钮添加图像?

php - 将用户制作的 SVG (raphael.js) 发送到服务器 (php),以便通过电子邮件发送

php - 如何在不降低 PHP 质量的情况下减小图像大小

javascript - Owl Carousel 2 项目在 RTL 中拖动/触摸时消失

javascript - 评估的 jquery 动态变量

javascript - 如何在 Node 中使用 cheerio 和请求写入文件?

python - 使用pygame添加图像

image - 什么是图像处理中的稀疏性?