当前位置:  开发笔记 > 编程语言 > 正文

以编程方式在PHP中组合图像

如何解决《以编程方式在PHP中组合图像》经验,为你挑选了1个好方法。

我非常喜欢雅虎加速网站的建议.其中一个建议是在可能的情况下组合图像以减小大小和请求数量.但是,我注意到虽然可以很容易地将CSS精灵用于布局,但其他图像使用并不容易组合.我想到的主要示例是博客或文章列表,其中每个博客或文章也有与之关联的图像.这些图像会极大地影响加载时间和页面大小,尤其是在未进行优化的情况下.在概念或实践中,我正在寻找的是一种动态组合这些图像的方法,同时使用PHP通过无损压缩来运行它们.

一些额外的想法或担忧:

组合图像并生成动态CSS样式表来定位图像的背景可能是一种方法,但我也担心可访问性和语义.据我所知,CSS图像应该用于布局元素,img标签(带有alt属性)应该用于传达信息的图像.我可以将图像设置为div元素的背景,并用alt属性替换title属性,但我不确定这样做的可访问性和语义含义.

GD库可能是这样的好选择吗?你能推荐其他选择吗?

ZombieSheep.. 7

如果我是你,我不会走这条路.当然,您可以通过减少请求的数量来节省协议开销中的几个字节,但这更可能最终会弄巧成拙.

想象一下这个场景:一个博客网站,其首页一次有10篇文章.每篇文章都有自己与之相关的图像.要保存一个或两个传输时间,可以编程方式创建所有10个文章图像的合成图像.你现在有两个问题之一.

    每次发布新帖子时都必须更新合成图像,因为最近的10个图像将具有一组修改过的内容.

    您决定在运行中为每个请求创建一个新的合成.

显然,#1在这里是优选的,并且不难实现.但是,如果用户搜索标记有"SQL"一词的所有帖子,该怎么办?您不太可能拥有已为此简单查询创建的前10个结果的合成图像,更不用说更复杂的图像了.此外,如果您想更新或删除图像会发生什么?您必须再次触发复合的背景创建.

像RSS阅读器这样的RSS聚合器怎么样?它没有必要的逻辑来确定它需要显示的合成图像的哪个部分,并且可能显示完整的图像.(我提到谷歌阅读器,因为我很少直接访问博客网站,倾向于信任像RSS阅读的RSS聚合服务)

如果是我,我会单独留下单张图片.凭借现代连接速度,额外带宽开销和服务器上处理时间之间的权衡不太可能赢得您的好处并获得巨大收益.

话虽如此,如果你决定沿着这条路走下去,我会说GD库是一个很好的起点.



1> ZombieSheep..:

如果我是你,我不会走这条路.当然,您可以通过减少请求的数量来节省协议开销中的几个字节,但这更可能最终会弄巧成拙.

想象一下这个场景:一个博客网站,其首页一次有10篇文章.每篇文章都有自己与之相关的图像.要保存一个或两个传输时间,可以编程方式创建所有10个文章图像的合成图像.你现在有两个问题之一.

    每次发布新帖子时都必须更新合成图像,因为最近的10个图像将具有一组修改过的内容.

    您决定在运行中为每个请求创建一个新的合成.

显然,#1在这里是优选的,并且不难实现.但是,如果用户搜索标记有"SQL"一词的所有帖子,该怎么办?您不太可能拥有已为此简单查询创建的前10个结果的合成图像,更不用说更复杂的图像了.此外,如果您想更新或删除图像会发生什么?您必须再次触发复合的背景创建.

像RSS阅读器这样的RSS聚合器怎么样?它没有必要的逻辑来确定它需要显示的合成图像的哪个部分,并且可能显示完整的图像.(我提到谷歌阅读器,因为我很少直接访问博客网站,倾向于信任像RSS阅读的RSS聚合服务)

如果是我,我会单独留下单张图片.凭借现代连接速度,额外带宽开销和服务器上处理时间之间的权衡不太可能赢得您的好处并获得巨大收益.

话虽如此,如果你决定沿着这条路走下去,我会说GD库是一个很好的起点.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有