扫码关注官方订阅号
现在有如下需求:
有一张图片,我想截取当前图片的某一部分,然后获取新截取的图片的文件名,并添加到某个p中,请问该如何实现。。。我查了一下,大概都是用canvas或者一些jquery插件,那些插件都是从本地选择一张图片再截取,有没有什么方法可以直接从页面截取呢。。
学习是最好的投资!
canvas 可以根据图片路径来进行操作。 这里我简单列举两种方法,还有其他方法,大致思路就是图片路径转成base64 或blob, 加载到canvas对象中去操作,裁剪压缩都可以。 当然也可以用牛人封装好的第三方类库去操作。
可以参考使用这个第三方工具 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 } ); }
把图片转成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";
这个过程是需要多个技术共同完成的 1.js截取图片插架加 ajax上传服务器 并返回图片地址(服务端需要动态语言接受并存储)2.将回调的图片地址显示在页面中
其实本地选择一张图片截取和页面选择一张图片截取差不多,都要把图片对象获取到,然后,如果是真正的截取的话,就必须用到canvas,如果只是看上去像是截取了,可以用<img>加<p>或者用背景图片展示出来。
看下 html2canvas
html2canvas
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
canvas 可以根据图片路径来进行操作。 这里我简单列举两种方法,还有其他方法,大致思路就是图片路径转成base64 或blob, 加载到canvas对象中去操作,裁剪压缩都可以。 当然也可以用牛人封装好的第三方类库去操作。
方法1:直接加载图片路径
可以参考使用这个第三方工具 javascript-load-image
实际使用过,还是比较好用
方法2
把图片转成base64再加载,然后再进行操作
这个过程是需要多个技术共同完成的
1.js截取图片插架加 ajax上传服务器 并返回图片地址(服务端需要动态语言接受并存储)
2.将回调的图片地址显示在页面中
其实本地选择一张图片截取和页面选择一张图片截取差不多,都要把图片对象获取到,然后,如果是真正的截取的话,就必须用到canvas,如果只是看上去像是截取了,可以用<img>加<p>或者用背景图片展示出来。
看下
html2canvas