JS 截取图片(img)标签中一块区域的内容转为base64编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 截取图片(img)标签中一块区域的内容转为base64编码相关的知识,希望对你有一定的参考价值。

做的一个移动端网页,用户可以多点触控缩放图片(这个功能我已经做好了),现在需要的是,截图心形区域(区域位置我已经计算好)转为base64编码,然后将编码传到服务器

就是能将img标签中某个区域中的内容转为base64编码

能不用插件尽量不要用吧,给最高分,希望能认真帮忙解决一下!要代码不要思路!谢谢!

参考技术A /**
* Convert an image
* to a base64 string
* @param String url
* @param Function callback
* @param String [outputFormat=image/png]
*/
function convertImgToBase64(url, callback, outputFormat)
var canvas = document.createElement('CANVAS'),
ctx = canvas.getContext('2d'),
img = new Image;
img.crossOrigin = 'Anonymous';
img.onload = function()
var dataURL;
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img, 0, 0);
dataURL = canvas.toDataURL(outputFormat);
callback.call(this, dataURL);
canvas = null;
;
img.src = url;


这个方法试试吧!!!!追问

图片中的数据也是base64的,不是url

追答

这个url就是经过编码的啊,也就是你要的结果!!!

追问

我是说我img标签src中的就是base64编码,不是文件链接。
而且我要的是截取一块区域内的,你这只是转编码

js解决img标签加载失败显示默认图片

问题:

  为所有显示楼盘的页面添加一个加载失败的默认图片.

基本思路:

  img标签中有个onerror属性,专门用来处理加载失败的事件.所以可以用jquery添加onerror属性,在onerror中加载默认图片.

$(function(){
	//注册加载失败事件,再次加载时先重新设置url,在清空原先的注册加载失败事件
	$("img").attr("onerror","this.src=‘img/error.jpg;this.onerror=null;‘");
	//遍历img标签,再次重新加载
	$("img").each(function(){
		this.src = this.src;
	});
	
});

  注意:在页面加载的时候添加,并且添加完成后清空onerror,否则会一直循环请求.

 

以上是关于JS 截取图片(img)标签中一块区域的内容转为base64编码的主要内容,如果未能解决你的问题,请参考以下文章

[转]ionic或者angularjs中图片显示压缩问题解决 or 显示较大图片的某一块区域裁剪显示

机器学习进阶-图片基本处理-ROI区域 1.img[0:200, 0:200]截取图片 2.cv2.split(对图片的颜色通道进行拆分) 3. cv2.merge(将颜色通道进行合并) 4 c

截取屏幕的一块区域并且声称图片

基于python语言的opencv如何把图片中指定区域截取出来?

css从一张大的图片A上截取一个50*50的小图片b,放在大小为20*20的div中,怎么让b在div中完整显示?

PPT 如何设置 在一个页面里的一块区域 切换显示不同内容