【发布时间】:2013-08-25 16:11:51
【问题描述】:
我想使用 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_w 的 dst_image 的矩形区域中,并且 位置 (dst_x,dst_y) 处的高度 dst_h。
如果源和目标坐标以及宽度和高度 不同,图像片段的适当拉伸或收缩将 被执行。坐标指的是左上角。这个 函数可用于复制同一图像中的区域(如果 dst_image 与 src_image 相同)但如果区域重叠 结果将是不可预测的。
【问题讨论】:
-
这读起来像需求规范,并没有指定您实际尝试过的任何内容
-
我更像是一个 java / PHP 程序员,并且对 python 有点陌生,这是非常不同的。我正在尝试做这个一次性的本地工作来替换所有的缩略图。我知道如何一一做,但不知道如何循环特定文件夹。