Тема: Улучшенное управление картинками v.2

Улучшенное управление картинками v.2
для Strawberry 1.1.1

images.mdu.v.2.rar (7 Kb)

Создавалась эта хрень на базе стандартного images.mdu и к вот этому решению отношения не имеет.

Фичлист:
1. Теперь есть возможность иметь две уменьшенные копии загружаемой картинки - для короткой и для полной новости.
2. Расширены возможности ресайза:
    2.1. Готовые пресеты (150 пикселей по длинной стороне для короткой новости, 300 пикселей по ширине и по длинной стороне для полной новости).
    2.2. Возможность задать ширину и высоту вручную (уменьшение будет происходить без сохранения пропорций, но если задать только высоту или только ширину - ресайзиться будет пропорционально до заданного размера).
    2.3. "Классический" ресайз в процентах от оригинального изображения.
3. Какой же ресайз без шарпа? Правильно, х#@вый. Поэтому реализован шарпинг по алгоритму хорошо всем известного фотошопного плагина unsharp mask. Все три параметра настраиваются (amount - эффект шарпинга, radius - радиус пятна размытия для маски и treshhold - порог, при превышении значения которого разностью между маской и исходным изображением, будет срабатывать фильтр для каждого пикселя).
4. Полностью независимые настройки для обоих уменьшенных изображений.
5. Отдельные коды вставки для каждого из уменьшенных изображений (уменьшенное изображение является ссылкой на полноразмерное), плюс отдельный код для случая, когда не создается ни одной уменьшенной копии.
6. В списке изображений выводится размер в пикселях и килобайтах как для полноразмерной картинки, так и для ее уменьшенных копий (если они присутствуют).

А вот так все это выглядит:
http://www.xcnews.ru/images/mod-images.gif

Установка:
Заменить /inc/mod/images.mdu файлом из архива.
Для изображений я использую highslide , а также обрамляю их вот таким div'ом:

.news_img {float:left; border:none; margin-top: 8px; margin-right: 8px;}

Если вам не нужны эти свистелки и перделки, просто закомментируйте строки 302, 309, 314 и раскомментируйте 301, 308 и 313.

Приятной работы с картинками без фотошопа!

PS: если кто-нибудь допилит сюда вотермарк, будет ему респект и уважуха.

Отредактировано Zomb1e (10 Sep 2010 12:33:27)

Post's attachments

images.mdu.v.2.rar 6.56 kb, 218 downloads since 2010-09-08 

борец за победу добра над разумом в кратчайшие сроки

2

Re: Улучшенное управление картинками v.2

я зарегился на форуме только для того что бы сказать тебе респект! ))

Re: Улучшенное управление картинками v.2

пасиба smile

борец за победу добра над разумом в кратчайшие сроки

4

Re: Улучшенное управление картинками v.2

К моему счастью только что обнаружил это дополнение, с хайслайдом работает на ура!
Спасибо Zomb1e! Респект и уважуха!

Re: Улучшенное управление картинками v.2

Добрый день, Спасибо Вам за дополнение.
Подскажите, пожалуйста,  как прикрутить img_resize_ls, что бы при заливки на сайт, картинка изначально пережималась допустим, с 3500х3500 до 800х800, а уже потом в зависимости от чекбокса "Делать уменьшеную копию" до 150 и 300.

Re: Улучшенное управление картинками v.2

Maxim, начиная со строки 56 (перед закомментированным куском кода) вставь вот это:

$resized_upload = @img_resize_ls($folder.'/'.$image, 800);
@img_write_n_destroy($resized_upload, $folder.'/'.$image);

не проверял, но должно работать. если не сработает, то попробуй вот так:

$resized_upload = @img_resize_ls($folder.'/'.$image, 800);
@unlink($folder.'/'.$image);
@img_write_n_destroy($resized_upload, $folder.'/'.$image);

Отредактировано Zomb1e (05 May 2011 01:17:47)

борец за победу добра над разумом в кратчайшие сроки

Re: Улучшенное управление картинками v.2

Спасибо! Оба варианта работают.
Только вот такое ощущение, что с файлами размерои больше 2 мб работать отказываеться. Страница обновляется и все... пусто...

Тестю на денывере Strawberry 1.1.1, txtsql

В SPAW Editor такая же фигня...

Отредактировано Maxim (05 May 2011 11:08:05)

Re: Улучшенное управление картинками v.2

Maxim, Вы передаете файл через http протокол. На секундочку, он не предназначен для больших файлов. Если Вы хотите передавать файлы больше 2 Mb без сбоев, то надо подключать загрузчик со скриптами, который будет передавать файл по частям. Например я использовал как-то swfupload.

Отредактировано cmd (05 May 2011 11:33:44)

Re: Улучшенное управление картинками v.2

Maxim, по поводу файлов больше 2 Мб курите маны, они рулез. Начать можно вот отсюда:
http://www.php.net/manual/en/function.i … .php#96227
если вкратце, то попробуй в .htaccess дописать вот это:

php_value post_max_size 16M
php_value upload_max_filesize 6M

а в скрипт - вот это (где-нибудь в самом начале):

ini_set('memory_limit', '100M');   //  handle large images
борец за победу добра над разумом в кратчайшие сроки

10

Re: Улучшенное управление картинками v.2

Zomb1e,

Очень хотелось видеть картинки в загружаемой таблице изображений, а не имена файлов. Для этого поменял строку:

<td height="17"><a href="<?=$config['path_image_upload'].'/'.$file; ?>"><?=$file; ?></a>

на

<td height="17"><a href="<?=$config['path_image_upload'].'/'.$file; ?>"><img src="<?=$config['path_image_upload'].'/small/'.$file; ?>"></a>

Что скажет на это автор? Нормально такое изменение?

Отредактировано triggger (08 May 2011 18:23:47)

Версия Strawberry 1.1.1 с ЧПУ

Re: Улучшенное управление картинками v.2

triggger, естественно каждый волен допиливать опенсорсный код под свои нужды. вот мне удобнее видеть имена файлов, тебе миниатюры - каждому свое.

по поводу твоего решения - если используешь хайслайд (или что-либо аналогичное), то для удобства можно добавить соответствующий код в тэг <a>. для хайслайда будет так:

<td height="17"><a href="<?=$config['path_image_upload'].'/'.$file; ?>" class="highslide" onclick="return hs.expand(this)" target="_blank"><img src="<?=$config['path_image_upload'].'/small/'.$file; ?>"></a>
борец за победу добра над разумом в кратчайшие сроки

Re: Улучшенное управление картинками v.2

Либо

<td align=center><a href=<?=($config['path_image_upload'].'/'.$file); ?> title="<?=$file; ?>"><img src="<?=$config['path_image_upload'].'/'.$file; ?>" border="0" width="90"></a><br><?=$file; ?>

Взял из примера галереи.