سؤال

لقد التقطت صورًا من سلبيتي وأريد قلب اللون في دفعة ، لدي نسخة "بطريقة ما" ولصق نص مثل هذا:

(define (batch-negative pattern)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE
                                              filename filename)))
                  (drawable (car (gimp-image-get-active-layer image))))
             (gimp-invert RUN-NONINTERACTIVE
                                   image drawable)
             (gimp-levels-stretch RUN-NONINTERACTIVE
                                   image drawable)
             (gimp-file-save RUN-NONINTERACTIVE
                             image drawable filename filename)
             (gimp-image-delete image))
           (set! filelist (cdr filelist)))))

أحاول اتباع البرنامج التعليمي ، لكنني فشل ، أعتقد أن هناك خطأ ما في الخط gimp-invert, ، لكنني لا أعرف أين ، هل يمكن لأي شخص المساعدة؟

شكرًا!

تحرير: لمعلوماتك ، أنا أستخدم Ubuntu 10.10 ، شكرًا مرة أخرى

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

المحلول

حل ، لقد أضفت الكثير من المعلمات ل gimp-levels-stretch و gimp-invert, ، الكود المعدل كما هو موضح أدناه:

(define (batch-negative pattern)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE
                                              filename filename)))
                  (drawable (car (gimp-image-get-active-layer image))))
             (gimp-invert RUN-NONINTERACTIVE
                                   image drawable)
             (gimp-levels-stretch RUN-NONINTERACTIVE
                                   image drawable)
             (gimp-file-save RUN-NONINTERACTIVE
                             image drawable filename filename)
             (gimp-image-delete image))
           (set! filelist (cdr filelist)))))

نصائح أخرى

على الرغم من أنني كنت أتصفح نفس المشكلة ، فقد وجدت إجابتك ... لكنك قمت بتخليصه في إجابتك نفس البرنامج النصي بالضبط مرة أخرى ؛) لذلك هنا هو المعلمات الثابتة ، مع المعلمات 2 التي تعمل ، والتي تعمل بشكل جيد:

(define (batch-negative pattern)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                  (image (car (gimp-file-load RUN-NONINTERACTIVE
                                              filename filename)))
                  (drawable (car (gimp-image-get-active-layer image))))
             (gimp-invert drawable)
             (gimp-levels-stretch drawable)
             (gimp-file-save RUN-NONINTERACTIVE
                             image drawable filename filename)
             (gimp-image-delete image))
           (set! filelist (cdr filelist)))))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top