【问题标题】:Html / PHP - Change image weight to load faster [duplicate]Html / PHP - 更改图像重量以更快地加载[重复]
【发布时间】:2018-05-04 11:28:11
【问题描述】:

几天前,我用一个简单的登录系统为我和我的朋友制作了一个“照片库”。一切正常,上传照片,使用根帐户删除照片,下载照片等。

但是当我们从相机上传一些照片时出现问题,其中一张照片有 10MB。在 30 张照片之后,整个页面都加载了这么长时间。知道如何在预览中以较低分辨率显示照片但仍在下载这张大尺寸照片吗?

【问题讨论】:

标签: php html css image resolution


【解决方案1】:

您可以使用 ImageMagick 或 GD 在显示之前缩小图像的大小。

文档:

你有(至少)两种方法来缩小图像:

  • 在上传过程中创建缩略图
  • 在显示网页时创建缩略图

为了表演,你应该使用第一选择。这意味着:

  • 使用表单,您可以上传一张巨大的图片
  • 在录制过程中,原始图像“按原样”存储,并使用 GD 或图像魔术(缩略图)创建较小的图像

在您的照片库中:您始终显示缩略图,并且仅当用户单击它时才显示“大的”(例如)。

【讨论】:

  • 我首先想到的是创建一个缩略图作为第二个文件,但我很想只对一个文件进行操作并在显示过程中更改其权重。
  • 你可以这样做,你需要在 标签中调用一个 PHP 脚本来缩小图像而不是原始文件。例如, 变成 ,如果我们认为 thumbnail.php 负责收缩过程
【解决方案2】:

这个概念是调整图像大小以完全适合其容器,将它们转换为 JPG 并降低其质量。仅此一项就可以切出图像大小的一大块。

我过去曾以两种方式处理过这个问题: 1。 PHP 的原生函数 imagejpeg

我不会详细说明比例调整大小(这将是一个完整的答案),但是在您完成之后,您可以转换,调整质量并使用 imagejpeg 功能保存。

doc on imagejpeg

它需要三个参数;图像资源,您希望文件具有的名称(以及要保存的路径)和质量。

imagejpeg($resized_image, 'img/name.jpg', 75);

2。使用 CDN(如 Cloudinary

您可以将图像上传到像 Cloudinary(非赞助)这样的内容交付网络,并让他们处理您的图像的转换、存储和服务。他们的 API 非常易于使用。 https://cloudinary.com/documentation/php_integration

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多