; dmmRotatePNG - GIMP Script-Fu to Rotate a PNG ; This Script-Fu must be put in The GIMP's script directory ; (e.g., $HOME/.gimp-1.2/scripts). ; For command-line invocation, use the shell script dmmRotatePNG.sh ; For interactive invocation, run The GIMP and go to ; Xtns -> Script-Fu -> dmm ; Positive rotation is clockwise, and is specified in degrees (not radians) ; (define (dmmRotatePNG rotatedegrees infile outfile) (let* ((image (car (file-png-load 1 infile infile))) (drawable (car (gimp-image-active-drawable image))) (rotateradians (* rotatedegrees (/ 3.14159 180))) ) (gimp-rotate drawable 0 rotateradians) (file-png-save 1 image drawable outfile outfile 1 0 0 0 0 0 0 ) ; 1 Adam7 interlacing? ; 0 deflate compression factor (0-9) ; 0 Write bKGD chunk? ; 0 Write gAMMA chunk? ; 0 Write oFFs chunk? ; 0 Write tIME chunk? ?? backwards in DB Browser ; 0 Write pHYS chunk? ?? backwards in DB Browser ) ) (script-fu-register ; I always forget these ... "dmmRotatePNG" ; script name to register "/Xtns/Script-Fu/dmm/dmmRotatePNG" ; where it goes "dmm Rotate PNG" ; script description "David M. MacMillan" ; author "Copyright 2002 by David M. MacMillan; GNU GPL" ; copyright "2002-07-22" ; date "" ; type of image SF-VALUE "Rotate Degrees" "90" ; default parameters SF-FILENAME "Infile" "infile.png" SF-FILENAME "Outfile" "outfile.png" ) ; Copyright 2002 by David M. MacMillan ; This work is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. ; NOTICE OF DISCLAIMER OF WARRANTY AND LIABILITY: ; This work is distributed WITHOUT ANY WARRANTY; ; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ; See the GNU General Public License for more details. ; In no event will the author(s), editor(s), or publisher(s) of this work ; be liable to you or to any other party for damages, ; including but not limited to any general, special, incidental ; or consequential damages arising out of your use of or inability to use this ; work or the information contained in it, even if you have been advised ; of the possibility of such damages. ; In no event will the author(s), editor(s), or publisher(s) of this work ; be liable to you or to any other party for any injury, death, ; disfigurement, or other personal damage arising out of your use of ; or inability to use this work or the information ; contained in it, even if you have been advised of the ; possibility of such injury, death, disfigurement, or other ; personal damage. ; You should have received a copy of the GNU General Public License ; along with this work; if not, write to the ; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ; Boston, MA 02111-1307, USA.