分享

利用canvas合并图片

 昵称597197 2015-12-28
function merger(imgs,maxWidth){
    if(!imgs)
        return null;
     
    maxWidth = maxWidth || 500;
     
    var height = 0;
    for (var i = 0; i < imgs.length; i++) {
        var img = imgs[i];
        if (img.width > maxWidth) {
            height += img.height * (maxWidth / img.width);
            continue;
        }
        height += img.height;
    }
     
    var canvas = document.createElement("canvas");
    canvas.width = maxWidth+10;
    canvas.height = height+10;
    var ctx = canvas.getContext("2d");
     
    var dheight = 10;
    for (var i = 0; i < imgs.length; i++) {
        var img = imgs[i];
        var cheight = img.height;
        var cwidth = img.width;
        if (cwidth > maxWidth) {
            cwidth = maxWidth;
            cheight = img.height * (maxWidth / img.width);
        }
         
        ctx.drawImage(img, 10, dheight, cwidth, cheight);
        dheight += cheight;
    }
     
     
    var dataurl = canvas.toDataURL('image/png');
    return dataurl;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多