Created
May 12, 2015 13:31
-
-
Save tmyt/69ae406be4c97668bc4d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; scale windows store apps visual assets to each scale factor. | |
(define (uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight inScaleFactor) | |
(define w (/ (* inWidth inScaleFactor) 100)) | |
(define h (/ (* inHeight inScaleFactor) 100)) | |
(define img (car (gimp-image-duplicate inImage))) | |
(define layer (car (vector->list (car (cdr (gimp-image-get-layers img)))))) | |
(define outFile (string-append inSaveTo "/" inBaseName ".scale-" (number->string inScaleFactor) ".png")) | |
(gimp-image-scale img w h) | |
(file-png-save2 1 img layer outFile outFile 0 9 1 0 0 0 0 0 0) | |
) | |
(define (uwp-scale-image-process-scale inBaseName inSaveTo inImage inWidth inHeight inScalePC inScaleWP inScaleUWP) | |
; scale-80 (pc) | |
(if (= (or inScalePC) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 80)) | |
; scale-100 (all) | |
(if (= (or inScalePC inScaleWP inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 100)) | |
; scale-125 (uwp) | |
(if (= (or inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 125)) | |
; scale-140 (pc,wp) | |
(if (= (or inScalePC inScaleWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 140)) | |
; scale-150 (uwp) | |
(if (= (or inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 150)) | |
; scale-180 (pc) | |
(if (= (or inScalePC) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 180)) | |
; scale-200 (uwp) | |
(if (= (or inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 200)) | |
; scale-240 (wp) | |
(if (= (or inScaleWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 240)) | |
; scale-250 (uwp) | |
(if (= (or inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 250)) | |
; scale-300 (uwp) | |
(if (= (or inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 300)) | |
; scale-400 (uwp) | |
(if (= (or inScaleUWP) 1) | |
(uwp-scale-image-duplicate-scale-export inSaveTo inBaseName inImage inWidth inHeight 400)) | |
) | |
(define (uwp-scale-image inImage inSaveTo inAssetType inScalePC inScaleWP inScaleUWP) | |
(case inAssetType | |
((0) (uwp-scale-image-process-scale "Logo" inSaveTo inImage 150 150 inScalePC inScaleWP inScaleUWP)) | |
((1) (uwp-scale-image-process-scale "Square70x70Logo" inSaveTo inImage 70 70 inScalePC inScaleWP inScaleUWP)) | |
((2) (uwp-scale-image-process-scale "Wide310x150Logo" inSaveTo inImage 310 150 inScalePC inScaleWP inScaleUWP)) | |
((3) (uwp-scale-image-process-scale "Square310x310Logo" inSaveTo inImage 310 310 inScalePC inScaleWP inScaleUWP)) | |
((4) (uwp-scale-image-process-scale "Square71x71Logo" inSaveTo inImage 71 71 inScalePC inScaleWP inScaleUWP)) | |
((5) (uwp-scale-image-process-scale "Square44x44Logo" inSaveTo inImage 44 44 inScalePC inScaleWP inScaleUWP)) | |
((6) (uwp-scale-image-process-scale "Square30x30Logo" inSaveTo inImage 30 30 inScalePC inScaleWP inScaleUWP)) | |
((7) (uwp-scale-image-process-scale "StoreLogo" inSaveTo inImage 50 50 inScalePC inScaleWP inScaleUWP)) | |
((8) (uwp-scale-image-process-scale "BadgeLogo" inSaveTo inImage 24 24 inScalePC inScaleWP inScaleUWP)) | |
((9) (uwp-scale-image-process-scale "SplashScreen-pc" inSaveTo inImage 620 300 inScalePC inScaleWP inScaleUWP)) | |
((10) (uwp-scale-image-process-scale "SplashScreen-wp" inSaveTo inImage 480 800 inScalePC inScaleWP inScaleUWP)) | |
) | |
) | |
(script-fu-register | |
"uwp-scale-image" ;func name | |
"Build scaled assets ..." ;menu label | |
"" ;description | |
"" ;author | |
"" ;copyright notice | |
"" ;date created | |
"*" ;image type that the script works on | |
SF-IMAGE "Image" 0 | |
SF-DIRNAME "Save to..." "/" | |
SF-OPTION "Target" '("Logo" "Square70x70Logo" "Wide310x150Logo" "Square310x310Logo" "Square71x71Logo" "Square44x44Logo" "Square30x30Logo" "StoreLogo" "BadgeLogo" "SplashScreen-pc" "SplashScreen-wp") | |
SF-TOGGLE "Windows 8.x" FALSE | |
SF-TOGGLE "Windows Phone 8.x" FALSE | |
SF-TOGGLE "Windows 10.x" FALSE | |
) | |
(script-fu-menu-register "uwp-scale-image" "<Image>/*WindowsApp") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment