【问题标题】:Generating PHP Image Banners efficiently有效地生成 PHP 图像横幅
【发布时间】:2011-08-11 00:34:56
【问题描述】:

许多网站开始为服务器管理员提供生成的图像横幅,以在其网站上显示实时统计信息。由于我们的许多客户都要求我们针对特定的服务器类型提供此服务,因此我开始研究它。

这是我为解释做的模型......

1) 基本上我将把这张图片减去白色文本作为模板。什么是最有效的方法,因为我们很可能会有很多这样的方法?我应该让它在有人查看它时重建图像(查询服务器/构建新图像),还是应该每 X 分钟查询一次服务器,将数据保存在数据库中,每 X 分钟重建一次图像?

2) 上面的文字现在是自定义字体,带有白色文字和 2px 黑色描边。生成时可以在PHP中使用带有笔触效果的自定义字体吗?

3) 为了生成(过去 24 小时内的玩家数图表),我查看了 Figure B 的条形图。我是否可以在横幅上放一个背景图片,然后根据数据库中的数据在其顶部绘制条形图?

【问题讨论】:

    标签: php sql-server image image-processing banner


    【解决方案1】:

    最有效的方法是生成图像的次数最少。 例如,如果人们每天只看两次图表,那么每 x 分钟查询一次数据库以生成这些图像是没有意义的。

    如果性能成为问题,您可以将输出图像缓存 x 分钟,然后仅在此时间后重新查询数据库。 (这取决于数据变化的速度) 此外,如果您想减轻主服务器的负载,这是使用辅助服务器的理想任务。

    php 中的字体处理相当有限。看看 gd 的图像处理。

    就像你提到的,你最好的办法是渲染图表,然后在你设计的背景图像上叠加该图像和文本。

    【讨论】:

      【解决方案2】:

      对于 #1,您应该每 X 分钟查询一次。您也可以通过检查是否有任何实际变化来加快速度。通过 PHP 渲染图像可能会很昂贵(至少根据我的经验),您肯定希望尽量减少执行此操作的频率,尤其是当您有很多事情要做时。

      【讨论】:

        猜你喜欢
        • 2016-03-27
        • 2015-04-30
        • 1970-01-01
        • 1970-01-01
        • 2018-03-06
        • 2016-09-10
        • 2014-12-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多