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

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

点点

2021-03-26 21:38 阅读 628 喜欢 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


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

赞赏支持
提交评论
评论信息(请文明评论)
暂无评论,快来快来写想法...
推荐
手机QQ浏览器凭借对腾讯产品比如手机QQ、微信等的良好支持,也获得了不少用户的喜爱,不过有网友在手机QQ浏览器上进行下载时,却不知道下载的文件储存在哪里,,不知道在手机的文件浏览器里怎么找到下载的文件。
我们在日常的工作生活中,每天都会用到微信,但是一直以来,微信都不能双向删除好友。今天小编就来教小伙伴们几种方法,如何清理“僵尸粉”。
在日常生活中,我们在微信中,小伙伴们可以通过群发助手来帮助自己群发消息给好友,将指定的消息群发给所有的好友,超过200人的好友,具体该怎么操作呢,下面就和小编一起来看看吧!
现如今随着微信的普及,很多小伙伴日常生活与工作中,会用到。但是应该有很多的小伙伴不知道微信有很多的隐藏代码.
最初微信是一个简单的通讯工具,当用户量越来越大的时候,群聊或者企业的使用量也日渐增加,所以日常发送小图片是必不可少的,而且上班通常都是在电脑上登录微信,那么,微信图片删除了怎么恢复?
现在微信是一个很火的社交软件,聊天就是其中一种功能,在聊天的时候发的一条消息不希望好友当下就看到,那怎么设置定时发送消息呢,但是小伙伴们不要打扰别人的正常生活呀!
微信是小伙伴日常每天都会使用的通讯工具,涵盖了社交、支付、购物、预订等多个方面。小伙伴们可以通过微信与好友聊天、分享生活点滴、浏览公众号文章、进行在线支付、购物等。
在微信软件中有一个拍一拍功能,我们只要在聊天页面中双击一下头像即可,那么就有小伙伴好奇了微信不小心拍了拍怎么撤回呢?