使用convert 方法后,我希望能够在指定高度和宽度的情况下转换横向或纵向图像,而无需更改比率。
从文档中,“剪辑”选项的作用如下:
- ' clip ':调整图像大小以适应指定参数,而不扭曲、裁剪或更改纵横比
如果我有一个 200x50 的图像并且我想要一个 150x150 的结果,这将导致一个 150x37px大小的图像,其比例与原始图像相同。如果我有一个 100x50 的图像并且我想要一个 150x150 的结果,这将产生一个 150x75px大小的图像,其比例与原始图像相同。
- ' crop ':通过删除图像中不适合边界的任何部分来调整图像大小以完全适合指定的参数
如果我有一个 200x50 的图像并且我想要一个 150x150 的结果,这将导致一个 150x37px 的裁剪图像。
- ' scale ':通过将图像缩放到所需大小来调整图像大小以完全适合指定的参数
如果我有一个 200x50 的图像并且我想要一个 150x150 的结果,这将导致一个 150x150px大小的图像,其中比例已更改为适合。
- ' max ':调整图像大小以适应参数,但与'clip'相反,如果图像小于输出大小,则不会缩放图像
与“剪辑”中的输出相同,除了如果我有一个 100x50 的图像并且我想要一个 150x150 的结果,这将导致一个 100x50 像素的调整大小的图像,其比例与原始图像相同。
我想要的是能够使图像保持其比例并具有所需的尺寸(如果需要,可以使用垂直和水平居中)。这将导致图像既不失真也不被剪裁。
我知道这项任务有些棘手,因为您必须确定用什么颜色填充空间(请参阅ImageMagick 文档关于空间填充)。
任何见解都会很棒,希望它不是一个边缘案例。