Подтвердить что ты не робот

Преобразование XCF и других файлов с помощью командной строки с GIMP?

Если у меня есть файл XCF (или любой другой, поддерживаемый Gimp), как я могу его преобразовать, например, PNG для отображения или дальнейшей обработки?

4b9b3361

Ответ 1

Я пару лет опаздываю, но я думал, что добавлю то, что, на мой взгляд, является лучшим решением: есть набор инструментов под названием Xcftools (на Ubuntu, apt-get install xcftools), который имеет утилиту под названием xcf2png, которая отлично выполняет эту работу.

xcf2png image.xcf -o image.png

Это намного лучше, чем a) с использованием ImageMagick (который, как я уже сказал в комментарии выше, ужасно нарушен) или b) с использованием Gimp (который имеет чрезвычайно сложный язык сценариев для простого экспорта изображения).

Ответ 2

Я думаю, ImageMagick должен делать то, что вы хотите (и даже больше)

convert image.xcf image.png

Ответ 3

Очень хорошее решение (и объяснения!) можно найти здесь. Короче говоря, существует схема подачи bash script/lisp к gimp

#!/bin/bash
{
cat <<EOF
(define (convert-xcf-to-jpeg filename outfile)
  (let* (
     (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
     (drawable (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))
     )
    (file-jpeg-save RUN-NONINTERACTIVE image drawable outfile outfile .9 0 0 0 " " 0 1 0 1)
    (gimp-image-delete image) ; ... or the memory will explode
    )
)

(gimp-message-set-handler 1) ; Messages to standard output
EOF

for i in *.xcf; do
  echo "(gimp-message \"$i\")"
  echo "(convert-xcf-to-jpeg \"$i\" \"${i%%.xcf}.jpg\")"
done

echo "(gimp-quit 0)"
} | gimp -i -b -

Но посмотрите на всю страницу. Это того стоит.

Ответ 4

Очень немногие, если таковые имеются, программы, отличные от GIMP, читают файлы XCF. Это по дизайну от разработчиков GIMP, формат на самом деле не документирован или не поддерживается как формат общего назначения.

При этом рассмотрите использование самого GIMP, используя аргументы командной строки (особенно параметр --batch).

EDIT: Он выглядит так, как будто ImageMagick поддерживает XCF, так что это, вероятно, более легкий маршрут, если поддержка кажется настолько хорошей. Я не тестировал его, и в документации мало сказано. Я бы немного насторожился.

Ответ 5

Если вы хотите массово конвертировать изображения .xcf в .png, вы можете найти эту оболочку script более полезной:

#! /bin/bash -peux
exec xcf2png $1 -o ${1%.xcf}.png

Сохраните его где-нибудь на вашем PATH как xcftopng (обратите внимание на to вместо 2) и вызовите его так:

ls *.xcf|xargs -l xcftopng