如何从前端读取图片并处理二进制数据

如何从前端读取图片并处理二进制数据

点点

2021-03-26 21:38 阅读 620 喜欢 0

页面选择图片,然后获取图片,读取字节码,异或一个值后,然后重新生成图片在页面上显示。

通过DataView 对象,获取他的byte数组,然后进行处理,再从Unit8Array组装回来。

核心代码

var reader = new FileReader();
reader.readAsArrayBuffer(file);//file 源文件

reader.onload = function(bf) {
    var content = new DataView(this.result);
    for (var i = 0; i < content.byteLength; i++) {
        var br = content.getInt8(i) ^ coder;
        content.setInt8(i, br);
    }
    var binary = '';
    var bytes = new Uint8Array(content.buffer);
    var len = bytes.byteLength;
    for (var i = 0; i < len; i++) {
        binary += String.fromCharCode(bytes[i]);
    }
    var str = window.btoa(binary); 
     //将图片转成base64字符串
    var img = new Image();
    img.src = 'data:image/png;base64,' + str;
}

转载请注明出处: http://sdxlp.cn/article/weixin3.1.html


如果对你有用的话,请赏给作者一个馒头吧 ...或帮点下页面底部的广告,感谢!!

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
微信现在成了我们日常中的帮手,而我们的聊天记录越来越多,那就需要备份,每个小伙伴的备份方法都不一样,但是原理都是一样的,保存到电脑后,需要重装系统时我们应该怎么处理?跟小编来看一下吧!
我们在日常的工作生活中,每天都会用到微信,但是一直以来,微信都不能双向删除好友。今天小编就来教小伙伴们几种方法,如何清理“僵尸粉”。
很多的小伙伴在使用微信的时候比较好奇一个微信怎么申请注册两个账号呢?下面就来看一下小编给带来的一个微信申请注册两个账号的方法吧。
今天,小编要给小伙伴们带来一个好消息——那个伴随我们每天生活,工作的超级App“微信”更新了!我们知道,这次,是关于我们微信号的大新闻——同一手机号码注册微信小号的功能全面开放了!
现在我们工作经常需要用到微信,如果你的工作需要和客户沟通,可能需要使用多个微信账号,但是一直切换账号也不是办法,而且还可能错过重要的消息。
平常微信聊天中发出和接收到的图片,都是经过编码后再保存在电脑中的,普通方法打不开,如果需要整理,则是个问题本文详细说明如何快速地把平常微信聊天中存储在电脑中的聊天图片转换成普通图片支持JPG和PNG
需要一个微信的文章,但是这个文章又不想让所有人知道,只想让参与活动的人看到,那么怎么在不发布微信公众号文章的前提下,拿到文章的永久地址呢?
前几天,听说同事的微信钱包被盗了,钱全没了。听到这事儿,小编吓了一跳,赶紧给自己的微信钱包加了好几层保护,免得我的钱也飞了。