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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> system(convert 1.jpg 1.png) 
V
    Опции темы
frenkys
Дата 14.11.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вобщем на Windows Active Perl

Код

for($i=1;$i<=3;$i++) {
    system("convert $i.jpg $i.png")

                                  }


выполняется 1 раз и заврешаеться цикл, через system обращаюсь к imageMagik, если делать это через интерфейс модулья ImageMagik то такая же проблема.


Кто-то сталкивался с таким?
Нужно копать в сторону system()? или в сторону ImageMagik ?
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
fray
Дата 15.11.2007, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(frenkys @  14.11.2007,  18:03 Найти цитируемый пост)
Вобщем на Windows Active Perl

Так и не понял что выхотите сделать, может 
Код

use Cwd;
use File::Util;
my($f) = new File::Uti;
`convert $_ $_.png` for  grep /\.jpg$/i, ($f->list_dir(getcwd,'--files-only --recurse'));

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






Это сообщение отредактировал(а) fray - 15.11.2007, 01:05
PM MAIL   Вверх
amg
Дата 15.11.2007, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



frenkys, у меня твой цикл работает правильно.

system для подобных целей лучше использовать с несколькими аргументами, тогда исполнение системных команд происходит без участия шелла, это повышает безопасность и немного быстрее:
Код
system('convert', "$i.jpg", "$i.png")

Твою задачу можно решить и без организации цикла, средствами ImageMagick: 
Код

mogrify -format png [1-3].jpg #linux
system('mogrify', '-format', 'png', map {$_.'.jpg'} 1..3); #perl

fray
, правильно сказал, для всех системных команд надо проверить, что путь у ней прописан в PATH, или вызывать команду с полным путем.

Кроме того, имей в виду, что ImageMagick очень многое умеет, но страшно тормозная и память жрет. Поэтому если картинки большие или их много, то такой тривиальной задачи, как преобразование форматов, стоит поискать другую программу.
PM MAIL   Вверх
frenkys
Дата 15.11.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



я получаю имя файла и котрый нужно сконверитровать. Сделать это нужно в цикле тот цикл  что я привел в первом посте выполняеться 1 раз и все вместо 3, попробывал разделять как предложил amg, но все без изминений
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
amg
Дата 15.11.2007, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(frenkys @  15.11.2007,  11:12 Найти цитируемый пост)
выполняеться 1 раз и все вместо 3
К сожалению (к счастью ?) у меня эта проблема не воспроизводится, и не могу представить, почему бы она могла быть. Поробуй заменить convert другой системной командой, например, cp (copy в винд.), будет ли работать?

PM MAIL   Вверх
frenkys
Дата 15.11.2007, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



хм, похоже что проблема только с IMAGEMAGIK :0(    

Код

for ($i=1;$i<=3;$i++){

print system('perl -v');

}


работает как надо

будем копать в сторону имаджмейджика
--------------------
 niva[frenky]
PM MAIL WWW   Вверх
frenkys
Дата 15.11.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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


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

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


 




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


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

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