php 抓取网页生成图片(图片处理是前端工做中很重要的一部分,编码)
优采云 发布时间: 2021-11-24 12:10php 抓取网页生成图片(图片处理是前端工做中很重要的一部分,编码)
图像处理是前端工作中非常重要的一部分。前段时间在个人项目中,使用的图标字体不能在线使用。原来是因为跨域问题。转base64不行,囧,图标字体怎么转base64编码还没搞明白,不过这不妨碍我研究这个gadget.css
实际上,一张图片的base64编码就是能够将一对图片数据编码成一串字符串,并用这个字符串来代替图片地址。
我们在网页上看到的每张图片都会消耗一个http请求来下载(当然Sprite会单独讲),如果图片的下载不需要服务器的请求,则可以在本地下载。那会降低服务器压力,base64正好可以解决这个问题。
当然base64并不是说到处都好用,比如有的图片本身就是4KB,但是转base64后就超过了5K(即时base64编码可以用gzip压缩,压缩率可以达到50%以上),而且一个元素的css样式超过几千个字符,会对css的整体可读性产生非常显着的影响,而且代码的冗余使得base64编码的损失大于损失。
如果图片足够小,由于使用的特殊性不能做成Sprite图片,整个网站的复用性非常高,基本不会更新,那么使用base64编码是极好的此时传输图像。(最经常用到的地方是一些网站的背景,这些背景都是一些小图重复后组成的。) 浏览器
简述Sprite的base64编码和特征缓存
精灵服务器
页面有多种样式,需要换肤功能。可以使用雪碧饼干
页面变得完美,字体不会频繁变化(如按钮大小、颜色等)
使用网站时无需重复图形内容
无base64编码成本,降低图片更新维护难度
base64 编码
无额外要求
对于非常小的或非常简单的图片
可以gzip(gzip后base64数据的压缩能力一般比图片文件小或强)
降低css维护难度
无跨域问题,无需考虑缓存、文件头或cookies问题
接下来说一下图片转base64的方法。其实最简单的方法就是在chrome下新建一个窗口,然后将要转换的图片直接拖到浏览器中,打开控制台,点击source
如图,是base64的编码
就这样放置,如图所示。. .