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

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

Ответы [ 5 ]

28 голосов
/ 12 июня 2011

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

xcf2png image.xcf -o image.png

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

6 голосов
/ 10 марта 2009

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

convert image.xcf image.png
3 голосов
/ 06 февраля 2015

Очень хорошее решение (и объяснения!) Можно найти здесь . Короче говоря, есть схема подачи bis-скриптов / 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 -

Но посмотрите на страницу для полной истории. Оно того стоит.

2 голосов
/ 10 марта 2009

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

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

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

0 голосов
/ 15 августа 2014

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

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

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

ls *.xcf|xargs -l xcftopng
...