我想为 python 使用 Wand (imagemagick) 创建图像缩略图 (250x250px)。
如果可能的话,我希望结果类似于 PHP 的imagecopyresampled()
**函数而没有质量损失。
我的目录结构如下:
> main folder (level 1) -> only one
>> company folder (level 2 - inside main folder) -> 286 company folders
>>> product folder (level 2 - inside each company folder)
>>> property folders (level 2 - inside each company folder) -> number depending on number of properties that each company owns
>>>> imagename.jpg (level 3 - inside each property folder) -> number depending on number of images.
>>>> imagename_thumb.jpg (level 3 - inside each property folder) -> old, smaller thumbs, one for every original image in folder. These should be deleted/replaced with new ones.
现在我想要实现的是为每个 imagename.jpg 图像创建缩略图(如前所述),用新图像替换旧的 imagename_thumb.jpg 图像。
请注意:产品文件夹中也有一些图像,但我不想为这些创建拇指,所以在循环文件时可以避免这个文件夹吗?
原因:我们最近决定重新设计使用更大缩略图的在线应用程序。手动替换所有现有的较小缩略图几乎是不可能的。
**imagecopyresampled()
功能说明(裁剪、重采样)以便更好地理解我想要实现的拇指类型:
imagecopyresampled() 将一个图像的矩形部分复制到另一个图像,平滑地插入像素值,因此,特别是减小图像的大小时,仍然可以保持很大的清晰度。
换句话说,imagecopyresampled() 将从位置 (src_x,src_y) 处宽度为 src_w 和高度 src_h 的 src_image 获取一个矩形区域,并将其放置在位置 (dst_x,dst_y) 处宽度为 dst_w 和高度 dst_h 的 dst_image 矩形区域中。
如果源和目标坐标以及宽度和高度不同,则会对图像片段进行适当的拉伸或收缩。坐标指的是左上角。此函数可用于复制同一图像中的区域(如果 dst_image 与 src_image 相同),但如果区域重叠,则结果将不可预测。