LINUX.ORG.RU

Чем кроме convert преобразовать png в jpg


0

1

convert от imagemagick ругается так:

processing './page04-05.png'
convert: Expected 8 bytes; found 0 bytes `./page04-05.png' @ warning/png.c/MagickPNGWarningHandler/1777.
convert: Read Exception `./page04-05.png' @ error/png.c/MagickPNGErrorHandler/1751.
convert: corrupt image `./page04-05.png' @ error/png.c/ReadPNGImage/3789.
convert: no images defined `./page04-05.jpg' @ error/convert.c/ConvertImageCommand/3044.
ERROR WHILE CONVERT FILE './page04-05.png' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

решения не нагуглил, потому ищу замену для convert

рассматриваемый файл page04-05.png не битый и его можно открыть и преобразовать гимпом, но для скрипта это не решение

★★★★★

Ответ на: комментарий от anonymous

о, совсем забыл я про pnm !
но и тут не все гладко:
pngtopnm: fatal libpng error: Read Error
pngtopnm: setjmp returns error condition
и возвращает $? = 1
хотя pnm файл создал и он вроде ок

придется проблемные файлы в полу ручном режиме перегонять

x905 ★★★★★
() автор топика

Десктоп?
$ wine консольный конвертер (convert/nconvert) или как их там... из (irfan/xn)view.
А чо, важен же результат, или процесс...

varchar
()
Ответ на: комментарий от varchar

ок, тоже пойдет, попробую при случаи

пока pngtopnm помог (проблемных файлов оказалось не так много, как я полагал)

x905 ★★★★★
() автор топика

его можно открыть и преобразовать гимпом, но для скрипта это не решение

с гимпом можно работать из консоли

bass ★★★★★
()

convert: Expected 8 bytes; found 0 bytes

можно попробовать дописать \0 в конце - иногда может помочь, еще может браузер больше пытаться информации выцепить - стоит попробовать

anonymous
()
Ответ на: комментарий от Deleted

да, это сканы обложек к музыкальным альбомам
обычно их делают под вендой, видимо чтото там криво иногда бывает

x905 ★★★★★
() автор топика

Тут уже советовали использовать gimp в пакетном режиме. Разместите в ~/.gimp-2.8/scripts файл со следующим содержимым:

(define (batch-save-jpg pattern quality smoothing)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (jpgimagefile (string-append filename ".jpg"))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE
                                              filename filename)))
                  (layer (car (gimp-image-flatten image))))
             (file-jpeg-save RUN-NONINTERACTIVE
                             image layer jpgimagefile jpgimagefile
                             quality smoothing 0 1 "" 0 1 0 0)
             (gimp-image-delete image))
           (set! filelist (cdr filelist)) )))
После этого попробуйте конвертировать командой
gimp -i -b '(batch-save-jpg «*.png» 0.85 0)' -b '(gimp-quit 0)'

Sorcerer ★★★★★
()
Ответ на: комментарий от x905

Кавычки внутри pre автоматически поменялись зачем-то. :( В командной строке двойные кавычки, а не угловые.

но ничего не понятно )

Прежде чем понимать, попробуйте, - вдруг тоже не все файлы обработает. У меня почему-то gif не захотел преобразовывать.

Sorcerer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.