46 lines
1.7 KiB
Scheme
46 lines
1.7 KiB
Scheme
(define (split-filename filename)
|
|
(let ((ext (memv #\. (string->list filename))))
|
|
(cons
|
|
(substring filename 0 (- (string-length filename) (length ext)))
|
|
(list->string (cdr ext)))))
|
|
|
|
(define (string-minus str num)
|
|
(substring str 0 (- (string-length str) num)))
|
|
|
|
(define (unretina-save image)
|
|
(let* ((parts (split-filename (car (gimp-image-get-filename image))))
|
|
(newname (string-append (string-minus (car parts) 3) "."
|
|
(cdr parts))))
|
|
(gimp-file-save RUN-NONINTERACTIVE image
|
|
(car (gimp-image-get-active-drawable image))
|
|
newname newname)))
|
|
|
|
(define (unretina image)
|
|
(unretina-save (half image)))
|
|
|
|
(define (half image)
|
|
(let ((newwidth (/ (car (gimp-image-width image)) 2))
|
|
(newheight (/ (car (gimp-image-height image)) 2)))
|
|
(gimp-image-scale image newwidth newheight))
|
|
(gimp-displays-flush)
|
|
image)
|
|
|
|
(script-fu-register "half"
|
|
"Halfsize image"
|
|
"Reduce the size of an image to 50%"
|
|
"Tom Willemse <tom@ryuslash.org>"
|
|
"Tom Willemse"
|
|
"2014-11-18"
|
|
"RGB*, GRAY*"
|
|
SF-IMAGE "Image" 0)
|
|
(script-fu-menu-register "half" "<Image>/Picturefix")
|
|
|
|
(script-fu-register "unretina"
|
|
"Unretina image"
|
|
"Reduce the size of an image and rename for non-retina displays."
|
|
"Tom Willemse <tom@ryuslash.org>"
|
|
"Tom Willemse"
|
|
"2014-12-01"
|
|
"RGB*, GRAY*"
|
|
SF-IMAGE "Image" 0)
|
|
(script-fu-menu-register "unretina" "<Image>/Picturefix")
|