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

StackOverflow https://stackoverflow.com/questions/630405

Вопрос

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

Это было полезно?

Решение

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

xcf2png image.xcf -o image.png

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

Другие советы

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

convert image.xcf image.png

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

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

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

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

РЕДАКТИРОВАТЬ: Это выглядит так, как будто ImageMagick поддерживает XCF, так что, вероятно, более простой маршрут, если поддержка кажется достаточно хорошей. Я не проверял это, и документация не говорит много. Я был бы немного осторожен.

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

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

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

ls *.xcf|xargs -l xcftopng
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top