Page 2 of 3

Re: imagemagick - не сохраняются настройки

Posted: Mon Apr 20, 2015 2:46 pm
by admin
дабы ковычки показывало как надо добавлен фикс в апедйт

в строку к ИМ можно и без ковычек -resize 50%хотя не совсем ясен смысл этого в строке )

Re: imagemagick - не сохраняются настройки

Posted: Mon Apr 20, 2015 3:20 pm
by zxc
так. кажется из-за escapeshellcmd не правильно и работает все.
это можно убрать из скрипта?

к примеру такого типа строчки не работают

Code: Select all

convert 1.jpg -fx 'iso=32; rone=rand(); rtwo=rand(); myn=sqrt(-2*ln(rone))*cos(2*Pi*rtwo); myntwo=sqrt(-2*ln(rtwo))* cos(2*Pi*rone); pnoise=sqrt(p)*myn*sqrt(iso)* channel(4.28,3.86,6.68,0)/255; max(0,p+pnoise)' 2.jpg

Re: imagemagick - не сохраняются настройки

Posted: Mon Apr 20, 2015 4:05 pm
by admin
Я думаю тут надо двойные ковычки использовать, а не одинарные.

PS Строчка серьезная, у меня даже вентилятор заработал когда ее тестило )

Re: imagemagick - не сохраняются настройки

Posted: Mon Apr 20, 2015 5:05 pm
by zxc
напрямую в шелл если выполнить вывод php

c escapeshellcmd одинарные ковычки

Code: Select all

 convert 1.jpg -fx 'iso=32\; rone=rand\(\)\; rtwo=rand\(\)\; myn=sqrt\(-2\*ln\(rone\)\)\*cos\(2\*Pi\*rtwo\)\; myntwo=sqrt\(-2\*ln\(rtwo\)\)\* cos\(2\*Pi\*rone\)\; pnoise=sqrt\(p\)\*myn\*sqrt\(iso\)\* channel\(4.28,3.86,6.68,0\)/255\; max\(0,p+pnoise\)' 2.jpg
convert: unable to parse expression `\(-1.0*2\*ln\(rone\)\)\' @ error/fx.c/FxGetSymbol/1858.
двойные кавычки c escapeshellcmd

Code: Select all

convert 1.jpg -fx "iso=32\; rone=rand\(\)\; rtwo=rand\(\)\; myn=sqrt\(-2\*ln\(rone\)\)\*cos\(2\*Pi\*rtwo\)\; myntwo=sqrt\(-2\*ln\(rtwo\)\)\* cos\(2\*Pi\*rone\)\; pnoise=sqrt\(p\)\*myn\*sqrt\(iso\)\* channel\(4.28,3.86,6.68,0\)/255\; max\(0,p+pnoise\)" 2.jpg
convert: unable to parse expression `\(-1.0*2\*ln\(rone\)\)\' @ error/fx.c/FxGetSymbol/1858.

без escapeshellcmd

Code: Select all

convert 1.jpg -fx 'iso=32; rone=rand(); rtwo=rand(); myn=sqrt(-2*ln(rone))*cos(2*Pi*rtwo); myntwo=sqrt(-2*ln(rtwo))* cos(2*Pi*rone); pnoise=sqrt(p)*myn*sqrt(iso)* channel(4.28,3.86,6.68,0)/255; max(0,p+pnoise)' 2.jpg
все ок

Re: imagemagick - не сохраняются настройки

Posted: Mon Apr 20, 2015 7:42 pm
by admin
Я не совсем понял первые 2 варианта но конкретно вариант

-fx "iso=32; rone=rand(); rtwo=rand(); myn=sqrt(-2*ln(rone))*cos(2*Pi*rtwo); myntwo=sqrt(-2*ln(rtwo))* cos(2*Pi*rone); pnoise=sqrt(p)*myn*sqrt(iso)* channel(4.28,3.86,6.68,0)/255; max(0,p+pnoise)"

в custom IM у меня работает и дисторшн для картинки делает без проблем.

У вас нет ?

Re: imagemagick - не сохраняются настройки

Posted: Tue Apr 21, 2015 1:02 am
by zxc
нет.

bash,sh не понимает этого экранирования с escapeshellcmd.

(c) SmartCJ Pro V 2.1 Build 201504201204 (Lastest build: 201504201204 )

выдержка из лога:

Code: Select all

2015-04-21 00:50:23: IM Cmd custom : /usr/bin//convert  -crop +0+85 +repage  -crop -0-85 +repage   -resize 150x200^ -gravity Center -crop 150x200+0+0  -fx "iso=32; rone=rand(); rtwo=rand(); myn=sqrt(-2*ln(rone))*cos(2*Pi*rtwo); myntwo=sqrt(-2*ln(rtwo))* cos(2*Pi*rone); pnoise=sqrt(p)*myn*sqrt(iso)* channel(4.28,3.86,6.68,0)/255; max(0,p+pnoise)"  ../tmp/7900/13.jpg.thumb.jpg.tmp.jpg ../tmp/7900/13.jpg.thumb.jpg  (10.544121980667, 0.00053501129150391)
2015-04-21 00:50:23: IM process error convert: unable to parse expression `\(-1.0*2\*ln\(rone\)\)\' @ error/fx.c/FxGetSymbol/1858.
 (10.792242050171, 0.24816703796387)

такая же ошибка, как и в прямых примерах выше.

Re: imagemagick - не сохраняются настройки

Posted: Tue Apr 21, 2015 1:05 am
by zxc
если взять строчку из лога, и запустить напрямую в шелле (только поменять названия изображений) - работает.

но в реальности, пхп передает в exec, совсем другую строчку, с экранированиями. а это приводит к ошибки.

Re: imagemagick - не сохраняются настройки

Posted: Tue Apr 21, 2015 1:10 am
by zxc
на всякий случай - тестировалось на debian и ubuntu 12.04

Re: imagemagick - не сохраняются настройки

Posted: Tue Apr 21, 2015 2:29 pm
by admin
Только что попробовал на фре - все работает.
не думаю что разница будет со фрей.
Скиньте плз админку и по действиям что куда вписывать что б получить ошибку.

Re: imagemagick - не сохраняются настройки

Posted: Tue Apr 21, 2015 7:23 pm
by serge
апнул скрипт, перестали грабиться тумбы, что-то явно с IM, зашел создать новый топик, но похоже мне сюда :D вобщем чего-то намудрили, что теперь тумбы создаются только при условии, что в профайле указана ширина и высота картинки. Раньше у меня было так: Thumb X = 300, Thumb Y = 0, создавались тумбы шириной 300 пикселей разной высоты (в зависимости от пропорций), теперь - фиг... нужно указывать например Thumb X = 300, Thumb Y = 250, чтобы тумба создалась, иначе либо ничего, либо белый квадрат. Верните все назад! :)