$style_create = image_style_save($style); $style=image_style_load('max_width_300'); $isid=$style['isid']; //debug($style); 'label' => 'Scale', 'help' => 'Scaling will maintain the aspect-ratio of the original image. If only a single dimension is specified, the other dimension will be calculated.', 'effect callback' => 'image_scale_effect', 'form callback' => 'image_scale_form', 'summary theme' => 'image_scale_summary', 'module' => 'image', 'name' => 'image_scale', 'data' => array ( 'width' => '300', 'height' => '', 'upscale' => 0, ), 'ieid' => NULL, 'isid' => $isid, 'weight' => '1', ); image_effect_save($effect);
Программное создание пресета изображения
Создать пресет изображения,или стиль вывода можно и программно.
Рассмотрим пример программного создания пресета для Drupal 7.
Вначале задается имя стиля вывода.Далее сохраняем его как есть.Это необходимо для получения его уникального номера isid.
Получив его идентификатор можно добавлять к нему различные эффекты. Я например сделал масштабирование до трёхсот пикселей в ширину.
Посмотрев документацию модуля вы найдете системные названия других эффектов.
Вряд ли программное создание пресета будет актуальном. Лично мне понадобилось создать пресет при установке модуля.
Я просто поместил этот код в hook_install своего модуля и стиль вывода успешно создался.
Применять этот стиль также можно программно. Почитать об этом можно в статье программный вывод изображений.
Собственно код: