[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: C Imagick кто тесно общается?
twin
Не могу на php 5.6 поставить Imagick.

Нашел вроде подходящую .dll, поставил саму либу, path прописал. В phpinfo её видно. Но ничего делать не хочет. На вот это:

$file = 'example.jpg';
$imagick = new Imagick(realpath($file));
огрызается какой то хренью:
Цитата
no decode delegate for this image format `JPEG'


Если оно на .jpeg так матерится, то что дальше делать, ума не приложу. :(

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Ron
twin, а почему не старый добрый GD?
twin
Вот зачем спрашиваешь?)))
Нужно так.

Свернутый текст
По секрету скажу, gd сильно качество портит. Но мне не для того. Просто нужно.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Kusss
я вот как раз с этим Imagick ковыряюсь.
и обхожусь без realpath.
$imagick = new Imagick($file);


P.S. туплю, это вообще не имеет отношения к работе Imagick
Ron
Цитата (twin @ 6.11.2015 - 10:01)
Вот зачем спрашиваешь?)))

Ну вдруг он умеет какую-нибудь крутую фичу делать. Не работал с ним никогда просто. Вернее работал совсем чуть-чуть, когда гнался за производительностью. Думал будет существенно быстрее, ан нет. Кстати а по качеству я и не обратил внимание. Работаю с GD, вроде вполне приличное. Не фотошоп ведь все-таки wink.gif

Kusss
Ron
http://phpimagick.com/Imagick - тут живые примеры всех функций библиотеки.

я на пример использую наложение с фильтром MULTIPLY.
twin
Kusss
У тебя версия php какая? Как ставил имаджик?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Kusss
PHP Version : 5.2.17-2+mh1
...
magick module enabled
imagick module version 3.1.0RC1
imagick classes Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
...
у меня хостинг, и он был предустановлен.
twin
Понятно. На 5.3 у меня тоже норм работало.

Нашел в Гугле, что каких то кодеков не хватает. А каких никто не пишет(((
У кого-нибудь работает она под 5.6?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Ron
Kusss, ух как богато. Ну да, чего, прикольно! Только вот мне не нравится, что на большинстве хостингов этой библиотеки получается нету?

To all: а что вы думаете о форке - gmagic? Судя по тестам он пошустрее будет чем imagic. И тут разница между GD становится совсем ощутимая.

А есть у этих библиотек какие-нибудь функции, которые нельзя реализовать на GD? Все-таки "кроссплатформенность" на мой взгляд намного важнее незначительной разницы в качестве и даже скорости. Если строить проект графической направленности, тогда другая история. Я в целом. Кто что думает?

Kusss
Ну на пример:
основа
http://pixs.ru/showimage/ds54ef4rjp_4972506_19413787.jpg
картинка
http://pixs.ru/showimage/97jpg_6544271_19413786.jpg
результат наложения
http://pixs.ru/showimage/ei6bBD4kRH_3010446_19413785.jpg
Ron
Kusss, что тут необычного? В графике не гуру, может быть это сложная задача. Так вроде не вижу ничего особенного.
Kusss
Ron
это можно сделать с помощью GD ?
Ron
Цитата (Kusss @ 7.11.2015 - 11:33)
это можно сделать с помощью GD ?

Да я не знаю, как раз у вас и спрашиваю! )) Мне кажется можно, накладывают же ватермарки те же. Тут рельеф футболки смущает, полагаю в этом и есть основная сложность.

Скорее всего с imagic задача решается несравнимо проще. Можно кусочек кода в студию?

Kusss
да там ничего особенного по коду
//$to_widht и $to_height : Координаты точки наложения.
// Настройки из формы

if (count($setting) == 0){
$setting = array(
'setImageOpacity' => 0.95,
'modulateImage' => array(100,90,100),
);

}
// Базовая
$basic = new Imagick($basic_img);
// Что накладыввем
$Overlay = new Imagick($print_img);

// Убирает цветность
$Overlay->modulateImage($setting['modulateImage'][0], $setting['modulateImage'][1], $setting['modulateImage'][2]);
// Прозрачность
$Overlay->setImageOpacity( $setting['setImageOpacity'] );
//вставить изображение на основу
$basic->compositeImage($Overlay, Imagick::COMPOSITE_MULTIPLY, $to_widht, $to_height);
$Overlay->clear();

// Если есть ДОП слои, накладываем ИХ
if (is_array($array['layer'])){
foreach ($array['layer'] AS $val) {
if (empty($val['no_print'])) {
$layer = new Imagick($val['img']);
$basic->compositeImage($layer, Imagick::COMPOSITE_OVER , $val['to_widht'], $val['to_height'], 1);
$layer->clear();
}
}
}


$basic->setImageCompressionQuality(90);
// сохраняем оригинал
$basic->writeImage ($product_dir .'/'.$file_name);
$basic->clear();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.