博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你想不到的压缩方法:将javascript文件压缩成PNG图像存储
阅读量:6947 次
发布时间:2019-06-27

本文共 683 字,大约阅读时间需要 2 分钟。

这样可以做到很高的压缩比,到底有多高,下面会提到。这种方法用到了 canvas 控件,这也意味着只有支持 canvas 控件的浏览器下才有效。

现在你可以看到,上面的图像类似一个噪声图像,但它实际上是一个由124K的 prototype 框架代码转化成的30K的8位PNG图像(压缩比还不错吧)。

其实,要将代码转化为图像的格式存储,可以转化成GIF和PNG格式。PNG格式的图像有24位和8位,用24位的RGB图像,每个像素可以存储3字节的数据,如果是用8位的RGB图像,每个像素可以存储1字节的数据。
在PHOTOSHOP中做测试发现:一个300x100的纯色杂点8位图像可以压缩到5K,而同样的纯色杂点图像,如果是100x100的24位图像只能压缩到20K。如果是同样图案的8位GIF图像,压缩效果比PNG要差一些。所以,我们选择用8位的PNG图像作为压缩和解压缩的存储格式。
现在,我们就需要开始压缩图像了,下面是用PHP写的压缩文件地址。

它读取JS文件并创建一个PNG图像,图像中的每个像素中是一个0-255之间的值,而这个值对应的是JS字符的ascII的值。

当然,除了压缩,还要有解压缩,也就是将图像读取为JS文件的过程。这个函数是用JS写的,可以从下面的位置下载这个文件。

最后给出在线测试地址,在这个网页上,您可以在列表中选择一个PNG图像文件,点击 load file 按钮可以在网页上看到这个图像,在图像的下面是由这个图像所读出来的代码文件。

转载于:https://www.cnblogs.com/axl234/p/4168868.html

你可能感兴趣的文章
Linux面试时遇到的问题
查看>>
【转载】浅谈C#中的延迟加载(1)——善用委托
查看>>
舒服的颜色1
查看>>
Apache HTTP Server 与 Tomcat 的三种连接方式
查看>>
WAMP Server 和IIS 7在Windows中同时运行,更改 Wampserver默认端口的解决方法
查看>>
Memcached
查看>>
C#简单注册表操作实例
查看>>
8天学通MongoDB——第五天 主从复制
查看>>
expect
查看>>
利用...来字符检測(swift)
查看>>
db2 存储过程迁移方法
查看>>
Android 发送短信总结
查看>>
WPF操作ini 文件的读写示例
查看>>
[DLX反复覆盖] hdu 3656 Fire station
查看>>
Camera
查看>>
【Unity】10.3 创建类人动画角色
查看>>
PlaceholderTextView
查看>>
香烟过滤嘴模型
查看>>
教你如何架设linux邮件服务器postfix
查看>>
Spring-core中的cglib小用法
查看>>