首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个图像文件插入画布

将多个图像文件插入画布
EN

Stack Overflow用户
提问于 2013-06-04 05:49:51
回答 1查看 189关注 0票数 0

我有下面的代码,它应该找到用户插入到div中的图像,当他单击"snap“按钮时,它会将这些图像挂载到画布对象中的一个图像中。很好。我可以在画布中找到图像、定位和调整大小,但图像源始终来自找到的最后一张图像。有人能帮我分析一下这段代码吗?

提前谢谢。

代码语言:javascript
复制
<!-- The HTML -->
<div id="content" style="width: 640px; height: 480px;">
    <div class="dragable-div"><img class="resizeable-image" style="position:absolute" src="images/glasses.gif" width="200" height="180" /></div>
    <div class="dragable-div"><img class="resizeable-image" style="position:absolute" src="images/nordic.gif" width="100" height="100" /></div>
</div>


<!-- The JS wich recognizes the images and sends them into the canvas -->
$('#snap').click(function() {

        len = $('#content > div').length;
        for(i = 0; i < len; i++){

            <!-- One '> div' more because the resize method puts one div around the object -->
            ptop = $('#content > div > div').eq(i).offset().top-8;
            pleft = $('#content > div > div').eq(i).offset().left - 8;
            ih = $('#content > div > div').eq(i).height();
            iw = $('#content > div > div').eq(i).width();
            img = $('#content > div > div').eq(i).find('img').attr('src');
            dIm(img, pleft, ptop, iw, ih);

        }

    });

    function dIm(img_source, posLeft, posTop, imWid, imHei){
        base_image = new Image();
        base_image.src = img_source;
        base_image.onload = function(){
            context.drawImage(base_image, posLeft, posTop, imWid, imHei);
        }   
    }

再说一次:一切都很正常;除了图像源,它总是获取#content div中的最后一个图像源。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-04 06:19:23

您已经将base_image创建为一个全局变量,因此每次通过该函数都会更新相同的引用。在dIm()函数中第一次使用之前添加var关键字。

代码语言:javascript
复制
function dIm(img_source, posLeft, posTop, imWid, imHei){
    var base_image = new Image();
    base_image.src = img_source;
    base_image.onload = function(){
        context.drawImage(base_image, posLeft, posTop, imWid, imHei);
    }   
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16906418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档