создать эскиз при загрузке изображения с помощью Zend Framework - PullRequest
5 голосов
/ 12 июля 2011

Я снова вернулся с вопросом в рамках Zend. Может кто-нибудь объяснить мне, как генерировать миниатюры изображений в Zend Framework после загрузки изображения.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Сам Зенд, похоже, не предоставит эту способность http://framework.zend.com/wiki/display/ZFPROP/Zend_Image+-+Eric+Potvin и предложит использовать http://www.imagemagick.org/script/index.php. тогда вы можете использовать свой собственный путь

2 голосов
/ 12 июля 2011

Не просто ответ Zend Framework, но в последнее время я обнаружил, что изменяю как сумасшедший, как показано ниже.

Я устанавливаю phpThumb где-нибудь в папке, доступной через Интернет, скажем:

http://example.com/img/t/phpThumb.php

Я обязательно настроил phpThumb для использования папки кэша:

/path/to/myapp/public/img/t/cache

который я chmod должен быть доступен для записи на веб-сервере.

Затем у меня есть помощник вида phpThumb, который позволяет мне вызывать исходное изображение с некоторыми параметрами изменения размера:

<img src="<?php $view->phpThumb($origImgUrl, $desiredWidth, $desiredHeight) ?>">

Все, что действительно делает помощник вида, это преобразовывает src url в тот, который проходит через мою установку phpThumb, обязательно добавляя классный (!) Параметр zoom-center:

<img src="/img/t/phpThumb.php?src=origUrl&w=200&h=150&zc=1">

Первый вызов этого изображения с этими параметрами изменения размера приводит к полному GD / ImageMagick-управляемому изменению размера с полным падением производительности. Но последующие вызовы этого изображения будут извлекаться из кэша. Не так хорошо, как запрос на действительно статичное изображение, но обычно приемлемо для моих целей относительно небольшого объема.

Это особенно полезно во время проектирования / разработки, когда я не уверен точно, насколько большим я хочу, чтобы какой-то внешний вид, приятный глазу, был. Поэтому я могу просто спрятать одну, относительно большую версию моего изображения (скажем, 640x480) в public/img/someBigImage.png, а затем изменить размер по своему желанию.

Это хак - возможно, лучше выполнить это изменение размера при загрузке, как вы на самом деле просите, - но я должен признать, что использовал его в нескольких местах. Не говори никому. ; -)

...