Drupal 生成缩略图功能
提到 Drupal 生成缩略图,或者你第一次时间想到的会是 Image Module,但本文说的是并不是一些第三方的工具包。其实,尽管说 Drupal 内核的图片处理能力不算强,但对于生成缩略图的小功能还是应付有余,大家可以看看 Drupal 图片处理核心文件 includes/image.inc 的说明。
Drupal 内置的缩略图方法有 4 种:resize, scale, crop, scale & crop,总有一款适合你 :)
这里我们分别说明一下各个方法的含义和所生成 200x100 的缩略图
- 原图

- image_resize
image_resize 强制把图片缩放到指定的 size,忽略宽高比
例子 image_resize($in, $out, 200, 100)

缩略图大小 200x100,不保持宽高比 - image_scale
image_scale 根据宽高比缩放到不超出指定 size
例子 image_scale($in, $out, 200, 100)

缩略图大小 133x100,保持宽高比 - image_crop
image_crop 顾名思义就是裁剪出 size 大小的图片,必须指定一下裁剪的顶点
例子 image_crop($in, $out, 0, 0, 200, 100)

缩略图大小 200x100,保持宽高比,设置了顶点 (0,0) - image_scale_and_crop
image_scale_and_crop 比较有意思,先把图片的宽或者缩放到指定的 width 或 height,然后裁剪出中间的部分
例子 image_scale_and_crop($in, $out, 200, 100)

缩略图大小 200x100,保持宽高比,大家看到上下部分都被剪去