【发布时间】:2018-05-04 11:28:11
【问题描述】:
几天前,我用一个简单的登录系统为我和我的朋友制作了一个“照片库”。一切正常,上传照片,使用根帐户删除照片,下载照片等。
但是当我们从相机上传一些照片时出现问题,其中一张照片有 10MB。在 30 张照片之后,整个页面都加载了这么长时间。知道如何在预览中以较低分辨率显示照片但仍在下载这张大尺寸照片吗?
【问题讨论】:
标签: php html css image resolution
几天前,我用一个简单的登录系统为我和我的朋友制作了一个“照片库”。一切正常,上传照片,使用根帐户删除照片,下载照片等。
但是当我们从相机上传一些照片时出现问题,其中一张照片有 10MB。在 30 张照片之后,整个页面都加载了这么长时间。知道如何在预览中以较低分辨率显示照片但仍在下载这张大尺寸照片吗?
【问题讨论】:
标签: php html css image resolution
您可以使用 ImageMagick 或 GD 在显示之前缩小图像的大小。
文档:
你有(至少)两种方法来缩小图像:
为了表演,你应该使用第一选择。这意味着:
在您的照片库中:您始终显示缩略图,并且仅当用户单击它时才显示“大的”(例如)。
【讨论】:
这个概念是调整图像大小以完全适合其容器,将它们转换为 JPG 并降低其质量。仅此一项就可以切出图像大小的一大块。
我过去曾以两种方式处理过这个问题: 1。 PHP 的原生函数 imagejpeg
我不会详细说明比例调整大小(这将是一个完整的答案),但是在您完成之后,您可以转换,调整质量并使用 imagejpeg 功能保存。
它需要三个参数;图像资源,您希望文件具有的名称(以及要保存的路径)和质量。
imagejpeg($resized_image, 'img/name.jpg', 75);
2。使用 CDN(如 Cloudinary)
您可以将图像上传到像 Cloudinary(非赞助)这样的内容交付网络,并让他们处理您的图像的转换、存储和服务。他们的 API 非常易于使用。 https://cloudinary.com/documentation/php_integration
【讨论】: