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

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

点点

2021-03-26 21:38 阅读 572 喜欢 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,微信以及TIM接收的APK文件直接会变成后缀为apk.1的文件,无法直接进行安装,导致很多网友很苦恼。今天小编给小伙们带来的这款软件就是解决这个问题的。
如今微信有手机版与电脑版,手机版的小视频怎么导出到电脑版?相信很多小伙伴都有在使用电脑端微信,其中的小视频如何才能导出呢?导出后又该如何保存呢?方法很简单,下面小编就来为小伙伴们介绍。
钉钉迎来了iOS版7.5.10的激动人心更新,现在用户可以直接通过浏览器一键跳入钉钉的视频会议。
病毒肆虐的现在,让我们的生活与工作全部到了线上,小编想以后就是会延续这样的交流方式啦!微信是我们常用的一款社交软件,给我们的生活带来了极大的便利和乐趣,深受用户欢迎.
当下微信是一个很火的社交软件,可以用来聊天,也可以用来支付,转账发朋友圈分享自己的生活等;很多微信的小伙伴们不知道怎么样,突然加不了好友是什么原因呢,现在就让小编带小伙伴们来看一下吧。