javascript - 显示图像预览 + 显示尺寸

标签 javascript html image

我正在尝试向我的网站添加图像裁剪器,同时在发送图像进行裁剪时发送图像尺寸进行处理。我可以让图像显示在预览框中,但我无法让 javascript 输出图像尺寸。

我的脚本是:

<script type="text/javascript">

        function PreviewImage() {
            var oFReader = new FileReader();
            oFReader.readAsDataURL(document.getElementById("id_avatar").files[0]);

            oFReader.onload = function (oFREvent) {
                document.getElementById("avatar_preview").src = oFREvent.target.result;

            };

            var imgheight;
            var imgwidth;

            function getDimensions() {
                imgheight = image.height; 
                imgwidth = image.width;
                document.getElementById('image_dimension').value = ('The image size is ' + imgwidth + ' x ' + imgheight );
            };

            var image = new Image();
            image.src = document.getElementById('avatar_preview').src;
            image.onload = getDimensions();

        };

    </script>

还有我的 HTML:

<input type='file' id='id_avatar' name='avatar' onchange="PreviewImage();" /><br />

<div id="parent" style="width: 300px; height: 300px; overflow: hidden;">
    <img id="avatar_preview" src="#" alt="your image" style="width:400px;" />
</div>

<input type='text' id='image_dimension' name='image_dimension' />

此代码在 image_dimension 文本字段中显示“此图像为 0 x 0”。

最佳答案

您的路径是正确的,但您需要使用 Image 对象。 而不是

var image = document.getElementById('avatar_preview').src;

你应该这样做

var image = new Image();
image.src = document.getElementById('avatar_preview').src;

最后,您应该保持 onload 回调不变。

作为旁注,您应该插入此行

document.getElementById('image_dimension').value = ('The image size is ' + imgwidth + ' x ' + imgheight );

在图像异步加载时的回调函数内。

查看 How to get image size (height & width) using JavaScript?https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image

关于javascript - 显示图像预览 + 显示尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30173540/

相关文章:

java - 将 jLabel 上的图标保存为硬盘上的图像

javascript - 文本框中仅允许前两个和后两个为字母,中间其余为数字(例如 EE123456789IN)

javascript - 在 List.js 中添加图片 src 和 <a> href

javascript - 在鼠标悬停时突出显示文本行

javascript - HTML 中的本地存储 JavaScript

javascript - 在有 child 的 'contenteditable' div 中设置插入符位置

javascript - 如何根据列为空或不为空的位置从类中隐藏每个 Div

html - 导航栏上的 Bootstrap 下拉菜单将内容向下推

android - Intent 图像捕获数据==null

android - 裁剪不适用于图库图像