Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ubuntu Perl+ImageMagick, Картинки нулевого размера 
:(
    Опции темы
rniA
  Дата 16.12.2014, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 1.8.2008
Где: Уфа

Репутация: нет
Всего: нет



Добрый день!
Достался в наследие сайт на perl. Пытаюсь сделать так чтобы все заработало. С трудом установил ImageMagick на Ubuntu. Возможно остались косяки в установке. Это присказка.
Скрипт,  который выдает капчу,  должен создать картинку. В ходе проверок оказалось, что картинка имеет нулевой размер.
Даже небольшая часть скрипта выдает пустую картинку

Код

#!/usr/bin/perl
use Image::Magick;

my $image = new Image::Magick;
$image->Set(size => (150*3).'x'.(50*2));
$opt->{background}='rgba(255, 255, 255, 100)';
$image->ReadImage('xc:'.$opt->{background});
my $filename ='b.png';
open(IMAGE,'>',$filename) or die $!;
$image->Write(file=>\*IMAGE, filename=>$filename);
close(IMAGE);
exit;


Помогите найти ошибку

PM MAIL WWW ICQ Skype   Вверх
ginnie
Дата 16.12.2014, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



В коде ошибки нет, проблема с установкой ImageMagick'а, у меня на OS X приведенный фрагмент создает файл b.png размером 274 байт.


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
rniA
Дата 16.12.2014, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 1.8.2008
Где: Уфа

Репутация: нет
Всего: нет



Цитата(ginnie @ 16.12.2014,  20:50)
В коде ошибки нет, проблема с установкой ImageMagick'а, у меня на OS X приведенный фрагмент создает файл b.png размером 274 байт.

Спасибо большое. Как проверить правильность установки ImageMagick?
При выполнении make check вылезла ошибка
FAIL: tests/wandtest.tap 1

Цитата

lt-wandtest: delegate library support not built-in `/usr/share/fonts/type1/gsfonts/n019003l.pfb' (Freetype) @ warning/annotate.c/RenderFreetype/1533.
lt-wandtest: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501.
lt-wandtest: delegate library support not built-in `/usr/share/fonts/type1/gsfonts/n019003l.pfb' (Freetype) @ warning/annotate.c/RenderFreetype/1533.
lt-wandtest: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501.
tests/wandtest.c main 5323 non-conforming drawing primitive definition `text' @ error/draw.c/DrawImage/3182



Как это исправить?

Это сообщение отредактировал(а) rniA - 16.12.2014, 21:26
PM MAIL WWW ICQ Skype   Вверх
tzirechnoy
Дата 16.12.2014, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



1) УМВР. Создаёт файл, белый, непустой.

2) А как Вы умудрились "с трудом" установить ImageMagick и perlmagick/libimage-magick-perl в Ubuntu?
Это какой-то такой дофига труд сказать sudo apt-get install perlmagick?
Или Вы зачем-то установили его сильно по другому? Зачем?

3) Ну и, по факту, реализацыя работы через perl file (который \*HANDLE, и аттрибут file в WriteImage) в perlmagick -- кривое до ужаса. Я там вижу как минимум один баг (нет PerlIO_exportFILE), кроме того, оно не работает практически ни для чего кроме самых простых случаев. И в старом перле -- судя по всему, вообще не работает.
В общем, не используйте его. Просто filename в Вашэм случае будет надёжнее.


Это сообщение отредактировал(а) tzirechnoy - 16.12.2014, 21:42
PM MAIL   Вверх
rniA
Дата 16.12.2014, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 1.8.2008
Где: Уфа

Репутация: нет
Всего: нет



Устанавливал через компиляцию исходников.
Цитата

./configure --with-quantum-depth=16 --with-perl
make
make install

Что сейчас делать? 

PM MAIL WWW ICQ Skype   Вверх
tzirechnoy
Дата 16.12.2014, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Постарайтесь сделать make uninstall в том жэ дереве исходников.

Добавлено через 1 минуту и 12 секунд
И, кстати, во всех остальных исходниках, которые Вы так поставили в систему -- тожэ.


Впрочем, вероятно, чем старых отмыть лучшэ новых нарожать -- в смысле, поставить систему заново, с mkfs.
PM MAIL   Вверх
rniA
Дата 17.12.2014, 06:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 1.8.2008
Где: Уфа

Репутация: нет
Всего: нет



Цитата

make uninstall 
apt-get install libperl-dev perlmagick

Результата не принес.

На девственно чистой машине
Цитата

$ sudo apt-get update
$ sudo apt-get install build-essential checkinstall libx11-dev libxext-dev zlib1g-dev libpng12-dev libjpeg-dev libfreetype6-dev libxml2-dev
$sudo apt-get install libperl-dev perlmagick 


Скрипт выполнен!!!Файл создан!!! Всем спасибо!!! буду дальше копать smile  smile 

Это сообщение отредактировал(а) rniA - 9.2.2015, 19:25
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1010 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.