简介
编辑本页简介
基本数据流
这个包的核心特性是提供一种以特定方式修改图像并缓存修改后的版本的方法。要做到这一点,涉及到几个组件。
检索原始图像
第一步是检索原始图像,即您要查找的图像。
为了检索这样的图像,有所谓的DataLoader
它们实现了Liip
.类通常管理这些加载器DataManager
并使用依赖注入自动与它连接。
一个具体的DataLoader
检索图像取决于加载器。默认是从本地文件系统读取文件。这是由Liip
,它被配置为默认加载器。您还可以使用绘图工具动态地创建随机图像,或者从任何已注册的流中读取二进制流。
其中最重要的部分DataLoader
史:
- 他们
找到
基于给定标识符的单个图像。 - 他们返回一个现成的使用
想象\ \ ImageInterface形象
.
请查看关于数据加载器的章节来了解更多。
在原始图像上应用滤镜
现在,我们获取了一张图像,我们可以用任何方式改变图像。你可以创建一个调整大小的版本,一个缩略图,添加水印,将其转换为灰度,重新采样图像,改变它的分辨率…你懂的。任何改变都被称为过滤器
,派生自Imagine库中的命名。
将这样的过滤器应用到一个FilterLoader
,通常由FilterManager
.那些FilterLoader
实现Liip
.的FilterManager
意识到所谓的filter_sets
.筛选器集可以定义多个筛选器,应用于每个前任的结果。
筛选器有一个目标:将自身应用于所提供的图像(由DataLoader
).它接收配置实际结果的选项,以自定义结果。
请查看过滤器章节来了解更多。
缓存过滤后的图像
过滤后的-要缓存的-图像是应用过滤器集中的所有过滤器后产生的图像。
为了不在同一图像上再次应用每个过滤器,这将在大多数情况下产生相同的过滤图像,这个结果将被缓存。对象管理此缓存缓存管理器
管理着所有所谓的CacheResolver
.
默认的CacheResolver
是WebPathResolver
,它会将图片作为静态文件缓存到web目录中,这样web服务器就不会再对这些图片调用应用程序堆栈了。图像将在第一次请求时创建,并将保留在其静态缓存版本中,直到删除。
一个CacheResolver
实现了Liip
.
它处理所谓的路径
,这是您在寻址原始图像时使用的标识符,例如在模板中。类中使用的路径DataLoader
.
政府的责任CacheResolver
是:
- 来解决一个给定的
路径
成一个响应
,如果可能的话, - 将给定的内容存储在给定的目录下
路径
以后再解决, - 生成一个URI来直接处理缓存的图像,
- 删除缓存的映像。
请查看关于缓存解析器的章节来了解更多。