javascript - drawImage() 按顺序 Canvas 并维护顺序

标签 javascript jquery css html

我在页面上设置了 6 个 Canvas 元素。有一个 <input type="file">放置按钮以添加图像。每次添加学生图像时,它都应显示在 Canvas 规范中,并按顺序从左到右放置。

我似乎无法让图像从左到右放置。

示例:第一个添加的图像应该在“can1”中,第二个添加的图像应该在“can2”中,第三个添加的图像应该在“can3”中。如果“can2”图像被删除,“can3”应该移动到“can2”的位置。

enter image description here

最佳答案

一种简单的方法是将每个图像存储在一个数组中,然后在添加/删除图像时重新绘制每个 Canvas 。

var images = [],
    contexts = [ // collection of the canvas drawing contexts ];
function refreshCanvases() {
    for (var i = 0, len = contexts.length; i < len; i++) {
        var context = contexts[i],
            image = images[i];
        // I'm assuming you have width/height defined somewhere else
        context.clearRect(0, 0, width, height);
        if (image) {
            context.drawImage(image, x, y, width, height);
        }
    }
}

function addImage() {
    // Code for loading image...
    images.push(image);
    refreshCanvases();
}

然后起泡、冲洗、重复去除图像。

关于javascript - drawImage() 按顺序 Canvas 并维护顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25146025/

相关文章:

javascript - 为什么点击事件没有传播?

css - 我的媒体查询应该使用什么最小/最大宽度?

javascript - Angular $filter 仅选择属性

javascript - 试图通过隐藏字段获取后面代码中的时间偏移值。但我得到空字符串 ("")而不是偏移量

javascript - 这个 jQuery 验证代码有什么问题? regexp.exec(值)

javascript - jquery 在表单验证后显示/隐藏 div

jquery - 如何在 jQuery Mobile 中正确使用 $ ('document' ).bind ('pageinit' ) ?

css - 如何将贷款明细和信用明细表放在空白的申请明细下方

jquery - CSS 属性 margin-top :-10px animation with Jquery affects the following divs, 我怎样才能修复它们?

javascript - 使用 Jquery 用除 div 之外的任何标签包装文本?