Я пытаюсь решить проблему на один день, и после многих беспорядочных поисков я здесь!
Я пытаюсь использовать двоичное преобразование из набора ImageMagick на скрипте Perl для обрезки изображения.
Когда я попробую этот простой код:
use Shell qw(convert);
convert("-crop", "50%x50%", $Src, "new_image.png");
На одном файле, который отлично работает.
Но когда я пытаюсь реализовать его в проекте, над которым я работаю (я сейчас на стажировке, исправляю функции), появляется сообщение «Не удается выполнить преобразование: неверный дескриптор файла»!
Я проверил путь к $ Src, попытался заменить жестким кодом, установил PATH, ничего не изменилось.
НО
если я попробую простое:
convert(-h);
Это прекрасно работает!
Я предположил, что что-то в предыдущем коде может мешать, но не уверен.
Ps: проект запускается с php-сервера, размещенного на локальном компьютере, но если он что-то изменит, но если никогда!
Большое спасибо за чтение и большое спасибо за ответ!
--- EDIT ---
Фактический код в соответствии с просьбой
Use Shell qw(convert);
.
.
.
sub checkSubScreen
{
#Parameters init
my ($this, $Scr0, $Scr1) = @_;
convert("-crop", "50%x50%", $Scr0, "tmp/scr0_crp.png");
convert("-crop", "50%x50%", $Scr1, "tmp/scr1_crp.png");
....
Я не могу показать вам весь код, он действительно слишком большой, но просто спросите, и я постараюсь показать!