Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Делаем вебдванольные превьюшки с ImageMagick

Раздел: Programming / PHP @ 30.10.2008 | Ключевые слова: ImageMagick php версия для печати

Автор: XuMiX
Источник: habrahabr

Недавно, у меня случилась проблема с GD на сервере — он перестал понимать png, после получаса мытарств, решил посмотреть на ImageMagick и его PHP интерфейс IMagick
После недолгого гугления нашел замечательный блог посвященный Imagick. Там же нашел способ делать красивые превьюшки. Однако, способ, предложенный там, правильно отрабатывал только с png картинками. Я немного поковырялся и сделал свой.

$thumb = new Imagick();
//read the image from path
$thumb->readImage($fullpath)
//white canvas
$canvas = new Imagick();
$canvas->newImage($width$height, new ImagickPixel("white"));
//make a thumb, with reduced size compared to canvas
$thumb->thumbnailImage($width-10$height-10);

//sharpen if small thumb
if ($width 300)
    
$thumb->sharpenImage(41);

//round corners, web 2.0 :))
$thumb->roundCorners(55);
//clone image to create shadow
$shadow $thumb->clone();

//shadow color
$shadow->setImageBackgroundColor(new ImagickPixel(`black`));
//shadow is made here
$shadow->shadowImage(802.555);

//place shaow on the canvas
$canvas->compositeImage($shadow$shadow->getImageCompose(), ,);
//place image on the canvas
$canvas->compositeImage($thumb$thumb->getImageCompose(), ,);


$canvas->stripImage();
$canvas->writeImage($writeTo);
//cleanup
$canvas->destroy();
$shadow->destroy();
$thumb->destroy();
?>

В итоге получим примерно вот такую картинку;):
490704de9e6b9.jpg - image uploaded to Picamatic
upd:то же самое с русскими комментами http://bin.cakephp.org/view/906967763

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / PHP


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.