تحويل XCF والملفات الأخرى باستخدام سطر الأوامر مع GIMP؟

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

سؤال

إذا كان لدي ملف XCF (أو أي شخص آخر مدعوم من GIMP) ، فكيف يمكنني تحويله إلى PNG على سبيل المثال ، على سبيل المثال ، PNG للعرض أو معالجة مزيد من المعالجة؟

هل كانت مفيدة؟

المحلول

لقد تأخرت بضع سنوات ، لكنني اعتقدت أنني سأضيف ما أعتقد أنه أفضل حل: هناك مجموعة أدوات تسمى xftools (في أوبونتو ، 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

احفظه في مكان ما على طريقك xcftopng (لاحظ ال to بدلاً من 2) وتسميها مثل ذلك:

ls *.xcf|xargs -l xcftopng
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top