2011-04-21 20 views

回答

6

Drupal 7的带有影像风格,它可以让你创建预置,包括缩放,裁剪和主机其他图像处理操作。您可以调整大小以编程方式使用theme_image_style()任何图像:

$options = array(
    'style_name' => 'small', // Machine name of style defined in Admin UI or image_style_save() 
    'path' => 'public://myimage.png', 
    'alt' => t('resized image'), 
    'title' => t('resized image'), 
    'attributes' => array(
    'class' => array('awesome', 'inset', 'resized'), 
    'rel' => 'lightbox', 
), 
); 
$image_html = theme('image_style', $options); 

Drupal的6相当于是使用ImageCache,其中有一个类似的API和工作流程。

3

顾名思义,ImageCache将缓存调整大小的图像,所以它不再在下一次调整大小。

ImageCache被移植并包含在Drupal 7的核心中,所以theme_image_style()就等于它。

这些“高效的包装”可能是你在找什么。但是如果你只想调整大小功能,那么看看Drupal核心中的image.inc,其中包含[image_resize()2

这个Drupal 6函数会调用您在Drupal站点中启用的Image Toolkit(G2或Imagemagick)。

在Drupal的6的情况下,ImageAPI具有真正相似功能,但处理的图像更有效的方式,并已列入在Drupal 7的核心,所以在Drupal 7

2
注意在 image_resize()参数的差异

有这个模块。它被称为http://drupal.org/project/image_resize_filter。您需要制作新的文本过滤器格式,只添加图像大小过滤器,注释过滤器机器名称。然后在代码中使用check_markup()将过滤器应用于图像标记的html字符串。过滤器将寻找宽度和/或高度标记来调整图像大小,并在您的文件系统中保存大小以备将来使用。