作者 : Bun Wong
日期 : 2009年04月25日
标签 : PHP Drupal
浏览 : 1496 次
评论 : 2 个
http://www.hdwong.com/article/38/

Drupal 生成缩略图功能

技术交流 @ 2009年04月25日 收藏&分享

提到 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)
    image_resize
    缩略图大小 200x100,不保持宽高比

  • image_scale

    image_scale 根据宽高比缩放到不超出指定 size

    例子 image_scale($in, $out, 200, 100)
    image_scale
    缩略图大小 133x100,保持宽高比

  • image_crop

    image_crop 顾名思义就是裁剪出 size 大小的图片,必须指定一下裁剪的顶点

    例子 image_crop($in, $out, 0, 0, 200, 100)
    image_crop
    缩略图大小 200x100,保持宽高比,设置了顶点 (0,0)

  • image_scale_and_crop

    image_scale_and_crop 比较有意思,先把图片的宽或者缩放到指定的 width 或 height,然后裁剪出中间的部分

    例子 image_scale_and_crop($in, $out, 200, 100)
    image_scale_and_crop
    缩略图大小 200x100,保持宽高比,大家看到上下部分都被剪去

评论 (2)

  • #1. drupal爱好

    2011年10月22日

    你好,请问image_scale 怎么调用

  • #2. Bun Wong

    2011年10月23日

    直接调用就可以了,D6 D7 都有这个方法的,定义在 image.inc 里面

* 昵称:

* 评论:

* 验证码: (请输入下图的 4 位数字)

Captcha看不请, 换一张

© 2011 Bun Wong

本博客基于 Bun PHP Framework 构建 • 粤ICP备07036370号