开发者社区> 问答> 正文

jquery截取当前页面

现在有如下需求:
screenshot有一张图片,我想截取当前图片的某一部分,然后获取新截取的图片的文件名,并添加到某个DIV中,请问该如何实现。。。我查了一下,大概都是用canvas或者一些jquery插件,那些插件都是从本地选择一张图片再截取,有没有什么方法可以直接从页面截取呢。。

展开
收起
小旋风柴进 2016-05-30 11:20:06 1902 0
1 条回答
写回答
取消 提交回答
  • canvas 可以根据图片路径来进行操作。 这里我简单列举两种方法,还有其他方法,大致思路就是图片路径转成base64 或blob, 加载到canvas对象中去操作,裁剪压缩都可以。 当然也可以用牛人封装好的第三方类库去操作。

    方法1:直接加载图片路径
    可以参考使用这个第三方工具 javascript-load-image
    实际使用过,还是比较好用

                //图片压缩并且展示
                function imageresizeAndPreview(path, orientation) {
                    loadImage(
                        path,
                        function(img) {
                            //img为得到的html Image对象
                            if (img.type === "error") {
                                console.log("Error loading image " + imageUrl);
                            } else {
                                //对img进行一些操作
                                var li = document.createElement("li");
                                li.appendChild(img);
                            }
                        }, {
                            maxWidth: 60,
                            maxHeight: 60,
                            crop: true,
                            orientation: orientation
                        }
                    );
                }

    方法2
    把图片转成base64再加载,然后再进行操作

    var canvas = document.getElementById("c");
    var ctx = canvas.getContext("2d");
    
    var image = new Image();
    image.onload = function() {
        ctx.drawImage(image, 0, 0);
    };
    image.src = "data:image/  png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oMCRUiMrIBQVkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAADElEQVQI12NgoC4AAABQAAEiE+h1AAAAAElFTkSuQmCC";
    2019-07-17 19:19:23
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载