Есть ли на Drupal изменение размера изображения на лету? - PullRequest
2 голосов
/ 21 апреля 2011

Есть ли в Drupal или в модуле Drupal средство изменения размера изображения, которое позволит вам сделать что-то вроде:

theme_image_resize($source, $heightx$width, $options);

Ответы [ 3 ]

6 голосов
/ 21 апреля 2011

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 голосов
/ 21 апреля 2011

Как следует из названия, ImageCache будет кэшировать измененный размер изображения, поэтому в следующий раз он больше не будет изменяться на лету.

ImageCache был портирован и включен в Drupal 7core, поэтому theme_image_style () является его эквивалентом.

Эти "эффективные оболочки", вероятно, то, что вы ищете.Но , если вам нужна только функция изменения размера , посмотрите на image.inc в ядре Drupal, который содержит [image_resize () 2 .

Эта функция Drupal 6 вызовет набор инструментов Image, который вы включили (G2 или Imagemagick) на вашем сайте Drupal.

В случае Drupal 6 ImageAPI имеет действительно схожие функции, но более эффективный способ обработки изображений и был включен в ядро ​​Drupal 7, поэтому обратите внимание на различия в аргументах image_resize () в Drupal 7.

2 голосов
/ 24 мая 2012

Для этого есть модуль.Он называется http://drupal.org/project/image_resize_filter. Необходимо создать новый формат текстового фильтра, добавить только фильтр изменения размера изображения, имя машины фильтра примечаний.Затем в коде примените фильтр к html-строке вашего тега изображения, используя check_markup().Фильтр будет искать теги width и / или height для изменения размера изображения и сохранения измененного размера в вашей файловой системе для дальнейшего использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...