2011-12-27 4 views
0

gmagick - это более новая версия imagemagick с большим набором функций, она менее ресурсоемкая и быстрая, но проблема в том, что очень мало дискуссий об этом замечательном инструменте в Интернете, с которым я недавно столкнулся это на http://devzone.zend.com/1559/manipulating-images-with-php-and-graphicsmagick/ , но я не мог установить его на windows-машины, потому что phpize не работал, поэтому я попытался каким-то другим способом, а некоторые, как удалось попасть на страницу phpinfo, но я не смог заставить его работать дальше, я не смог открыть ни одного изображения с gmagick это код, который я использовалКак установить расширение gmagick php на windows vista

 <?php 
    $path="gallery/img1.jpg"; 
    // initialize object 
    $image = new Gmagick($path); 
    echo $image; 
    // read image file 
    $file = 'gallery/img1.jpg'; 
    $image->readImage($file); 
    echo '<img src="' . $file . '" width="200" height="150" /> <br/>'; 
    ?> 

я использовал этот код для instanstiate класса gmagick и О но я собираю очень большую ошибку следующим образом: Неустранимая ошибка: исключить исключение «GmagickException» с сообщением «Невозможно открыть файл (gallery/img1.jpg)» в C: \ xampp \ htdocs \ junk \ imgproc \ imgproc1.php : 4 Трассировка стека: # 0 C: \ xampp \ htdocs \ junk \ imgproc \ imgproc1.php (4): Gmagick -> __ construct ('gallery/img1.jp ...') # 1 {main} брошен в C: \ XAMPP \ HTDOCS \ барахло \ imgproc \ imgproc1.php на линии 4

ответ

3

A) Для того, чтобы ответить на вопрос в заголовке (что может привести других читателей здесь):

Windows, строит расширения GraphicsMagick для PHP можно получить здесь: http://valokuva.org/builds/

Проверьте, нужна ли вам потоковая версия или нет, если посмотреть на выходе вашего веб-сервера phpinfo();. Ищите запись Thread Safety. В записи PHP Extension Build вы также должны найти версию VC, которая вам нужна, например. API20090626,TS,VC9 для VC9.

Скачать последнюю версию, соответствующую условиям, поместите его в каталог PHP/внутр и добавить его в php.ini, как это:

extension=php_gmagick_ts.dll 

Помните, чтобы исправить имя DLL, если вы используете версия без TS.

Перезапустите Apache и проверьте phpinfo();. Там должна быть gmagick блока сейчас ..

B) Для того, чтобы исправить проблемы с кодом:

  1. Конструктор Gmagick не ожидает пути в качестве параметра, но имя файла полного изображения (может включить путь). Чаще всего лучше оставить его пустым и предоставить файл в вызове readImage().
  2. Попробуйте полный $ путь (начиная с корня) и использовать его в readImage() и writeImage():

Вот пример рабочей части кода:

<?php 
// assuming this is the path to your code and to your image files 
$path = 'C:\xampp\htdocs\junk\imgproc\'; 

$image = new Gmagick(); 
$file = 'img1.jpg'; 
$image->readImage($path.$file); 

// The rest of your code does not make any use of the GM instance, 
// so I add something functional here: create a grayscale version and show it 
$fileOut= 'img1_GRAY.jpg'; 
$image->setImageType(Gmagick::IMGTYPE_GRAYSCALE); 
$image->writeImage($path.$fileOut); 
$image->destroy(); 
echo "<img src='$fileOut' >"; 
?> 

Он должен показать, в градациях серого версию вашего файла изображения.

+0

Hey Jpsy У меня проблемы с установкой gmagick, может быть, вы могли бы дать мне совет? Вот мой вопрос о Stackoverflow: http://stackoverflow.com/questions/15098204/cant-install-gmagick-on-windows-7-xampp – misaizdaleka

+0

@misaizdaleka: Смотрите мой [ответ на ваш вопрос] (http: // stackoverflow. ком/а/15111425/430742). – Jpsy

Смежные вопросы