我正在为 Perl 使用 ImageMagick
use Image::Magick;
我编写了功能代码来执行所有必要的任务,例如调整大小、缩略图、读取尺寸、裁剪、裁剪到中心。
我确实要求所有照片都是横向的,所以我扔掉任何高度大于或等于宽度的图像。
我正在努力解决的问题是在调整大小之前进行裁剪。照片需要是 4:3 的宽高比。有些照片采用新的 16:9 格式,或者在发送到服务器之前可能已被裁剪,这会导致屏幕显示倾斜。在调整大小之前,我想裁剪图像,使其最接近 4:3 等效值。例如,800/600 可以,但 802/600 会将中心裁剪为 800/600。
我将调整所有照片的大小,无论裁剪大小到最大存储图像 800/600,但这与童话无关。由于我可以提前读取高度和宽度尺寸,因此可能有一种算法可用于计算最接近的匹配。我真的只需要帮助来获得要裁剪的新尺寸,而不是 ImageMagick,除非 ImageMagick 中有一个函数可以为我做到这一点。
但是,我一直没有成功找到一个。