【发布时间】:2010-01-10 23:43:47
【问题描述】:
我需要构建一个 PHP 照片处理类,我知道有很多已经存在于公众中,但我需要构建一个来做我需要做的事情,没有额外的,也没有更少。
我需要我的班级来做这件事......
1)
我创建了我的类的一个新实例,并传入照片的 URL,或使用 POST 表单上传的本地照片的路径。
2)
然后我需要拍摄主图像并检查它的尺寸,如果它比 800 像素更宽,我需要调整它的大小,如果它不宽然后 800 那么我就离开它
3)
我们现在需要从这张图片构建 2 个不同大小的缩略图,如果我们调整图片的大小以满足我们 800 像素的要求,那么我们使用该图片制作缩略图,否则我们从原始图片制作缩略图。
4)
然后我们更新一些数据库记录
然后完成。
我知道这并不难,但我需要在构建它时考虑到最佳性能,例如,如果用户上传一张 2mb 的照片,我不想占用内存并继续从该照片构建缩略图,如果我们已经制作了一个较小的图像,我认为它应该使用较小的图像来构建缩略图。
现在有了所有这些信息,您对如何在 GD 或 imagemagick 中执行此操作有什么建议吗?如果我制作了一个制作缩略图的方法,我应该如何确保它继续使用较小的图像来制作其他较小的图像?我查看了一些现有的图像类,它们都非常复杂,而且 IMO 做得过头了,但是没有一个能完全完成这个简单的任务。
【问题讨论】:
-
好吧,您已经用您的问题概述了程序流程。您所要做的就是在 ImageMagick 或 GD 中找到函数并创建一个 Thumbnailer 服务类。
标签: php class gd imagemagick