用js两张图片合并成一张图片?

发布于 2022-09-01 19:26:21 字数 114 浏览 8 评论 0

做个小项目,遇到了一个需求,就是需要上传个小LOGO的图片,然后把小LOGO图片,拖动到一张大图上,合成一张带LOGO的大图片?
求解~有没有类似插件?或者各位在哪个网站看到过这种效果,我去看看能不能扒下来~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

知足的幸福 2022-09-08 19:26:21

这是我自己写的jQuery插件,能编辑图层并合并。http://jackgit.github.io/ImageEditor/app/demo.html

---更新链接地址---
http://demo.jackyang.me/image-editor/app/demo.html

兔姬 2022-09-08 19:26:21
function drawAndShareImage(){
    var canvas = document.createElement("canvas");
    canvas.width = 700;
    canvas.height = 700;
    var context = canvas.getContext("2d");

    context.rect(0 , 0 , canvas.width , canvas.height);
    context.fillStyle = "#fff";
    context.fill();

    var myImage = new Image();
    myImage.src = "./2.png";    //背景图片  你自己本地的图片或者在线图片
    myImage.crossOrigin = 'Anonymous';

    myImage.onload = function(){
        context.drawImage(myImage , 0 , 0 , 700 , 700);

        context.font = "60px Courier New";
        context.fillText("我是文字",350,450);

        var myImage2 = new Image();
        myImage2.src = "./1.png";   //你自己本地的图片或者在线图片
        myImage2.crossOrigin = 'Anonymous';
        
        myImage2.onload = function(){
            context.drawImage(myImage2 , 175 , 175 , 225 , 225);
            var base64 = canvas.toDataURL("image/png");  //"image/png" 这里注意一下
            var img = document.getElementById('avatar');

            // document.getElementById('avatar').src = base64;
            img.setAttribute('src' , base64);
        }
    }
}

PS:在线图片和本地图片都要注意下跨越的问题,最好放在服务器上测试。
所谓喜欢 2022-09-08 19:26:21

其实就是canvas绘图啦……

http://fabricjs.com/

梦过后 2022-09-08 19:26:21

就是把两张图都往canvas上面绘制就好了用drawImage接口

兮颜 2022-09-08 19:26:21

用canvas合成最后把canvas.dataToURL转成base64.用img标签加载就好了

鱼忆七猫命九 2022-09-08 19:26:21

最近做过一个类似的项目,不过还没完成,用canvas绘图,在canvas里面可以把两张图合并成一张图,具体的逻辑你可以自己想想,有时间的话我给你上代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文