前端js处理图片格式为base64位的 获取宽高。

后台返回的图片为base64格式的 现在需要获取他的宽高 请问怎么获取
或者把base64的先转为普通图片格式 然后再获取 请大佬指点。

你将img的src设置成base64的地址,然后当图片渲染完了之后就可以获取宽高了啊

图片的大小是根据页面展示时的元素的宽高自适应的,要这个大小有什么特殊用途吗?
一般 图片都是放在 img 标签中直接展示的。

$('#imgf').change(function(e) {
console.info(e.target.files[0]);//图片文件
var dom =$("input[id^='imgf']")[0];
console.log(e.target.value);//这个也是文件的路径和上面的dom.value是一样的
var reader = new FileReader();
reader.onload = (function (file) {
return function (e) {
// console.info(this.result); //这个就是base64的数据了
var img = new Image();
img.src=this.result;
img.onload = function (argument) {
console.log(this.width +'----------'+this.height) //这里就是上传图片的宽和高了
}
};
})(e.target.files[0]);
reader.readAsDataURL(e.target.files[0]);
});

var img=new Image();
img.src="xxx";
img.onload=function(){
var width=img.width;
var height=img.height;
}
应该是这样的,很长时间不用了,不过这样有个问题,如果图片没有完全加载完是没有效果的,会有时间差,会影响到其他的操作
所以建议是在服务端就判断大小,然后返回个js,这样省时省力,也不会有时间差。

var img = new Image(); //创建img
img.src = base64 路径; //路径
img.onload = () => {
console.log(img.width, img.height);
}
获取base64 真实宽高