您的位置 首页 > 数码极客

「图片如何转js代码」js图片切换代码…

主要识别图片类型,然后进行转换;

function btoimg(buffer) {

var mime;

var a = new Uint8Array(buffer);

var nb = a.length;

if (nb < 4)

return null;

var b0 = a[0];

var b1 = a[1];

var b2 = a[2];

var b3 = a[3];

if (b0 == 0x89 && b1 == 0x50 && b2 == 0x4E && b3 == 0x47)

mime = 'image/png';

else if (b0 == 0xff && b1 == 0xd8)

mime = 'image/jpeg';

else if (b0 == 0x47 && b1 == 0x49 && b2 == 0x46)

mime = 'image/gif';

else

return null;

var binary = "";

for (var i = 0; i < nb; i++)

binary += S(a[i]);

var base64 = window.btoa(binary);

var image = new Image();

//image.onload = onLoad;

image.id = "upload";

image.src = 'data:' + mime + ';base64,' + base64;

return image;

}

/*

var val = [...];

var img = btoimg(val);

document.getElementById("result").append(img);

*/

将image base64转换成File对象

function dataURLtoFile(dataurl, filename) {

var arr = da(','), mime = arr[0].match(/:(.*?);/)[1],

bstr = atob(arr[1]), n = b, u8arr = new Uint8Array(n);

while(n--){

u8arr[n] = b(n);

}

return new File([u8arr], filename, {type:mime});

}

/*

var f = dataURLtoFile('data:image/png;base64,......',';);

con(f);

*/

将byte[]转换成File对象

根据上面的思路直接对字节数组进行转换成FILE对象;

function btof(buffer, filename) {

var mime;

var a = new Uint8Array(buffer);

var nb = a.length;

if (nb < 4)

return null;

var b0 = a[0];

var b1 = a[1];

var b2 = a[2];

var b3 = a[3];

if (b0 == 0x89 && b1 == 0x50 && b2 == 0x4E && b3 == 0x47){

mime = 'image/png';

suffix = 'png';

}else if (b0 == 0xff && b1 == 0xd8){

mime = 'image/jpeg';

suffix = 'jpg';

}else if (b0 == 0x47 && b1 == 0x49 && b2 == 0x46){

mime = 'image/gif';

suffix = 'gif';

}else{

return null;

suffix = '';

}

return new File([a], filename+'.'+suffix, {type:mime});

}

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“图片如何转js代码,js图片切换代码,图片轮播js代码,网页图片轮播js代码,html图片轮播js代码”边界阅读