概要

  • 全てのレイヤを PNG としてエクスポートする。
  • ただし、レイヤ名が "_" で始まっている場合はエクスポートしない。
  • ファイル形式を png, bmp, jpg, tif の中から選べるようにした。(2013/04/08)

ソース

export-layers-with-ext.scm

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 
 
 
 
 
-
|
|
|
|
|
|
|
|
|
|
|
!
-
!
 
-
|
-
|
|
!
|
|
|
|
-
-
|
|
-
|
!
!
|
|
|
!
 
 
; 全てのレイヤをファイル形式を指定してエクスポート
; ただし、レイヤ名が "_" で始まっている場合はエクスポートしない
 
(define theExtentions '("png" "bmp" "jpg" "tif"))
 
(script-fu-register
    "script-fu-export-layers-with-ext"        ;func name
    "export layers with ext"            ;menu label
    "export layers with ext for all layers, except layer name start with '_'"
                        ;description
    "TakeAsh"                ;author
    "copyright 2013, TakeAsh"        ;copyright notice
    "2013-04-08"                ;date created
    ""                    ;image type that the script works on
    SF-IMAGE    "Image"        0
    SF-DIRNAME    "OutputDir"    ""
    SF-OPTION    "File Type"    theExtentions
)
(script-fu-menu-register
    "script-fu-export-layers-with-ext"    "<Image>/Filters/For All Layers")
 
(define 
    (script-fu-export-layers-with-ext inImage inOutputDir inExt)
    (let* (
        (theLayerIdList (vector->list (cadr (gimp-image-get-layers inImage))))
        (theLayerName "")
        (theExt (nth inExt theExtentions)))
 
        (gimp-image-undo-group-start inImage)
        (gimp-context-push)
 
        (for-each
            (lambda (theLayer)
                (set! theLayerName (car (gimp-drawable-get-name theLayer)))
                (define theFileName (string-append inOutputDir "/" theLayerName "." theExt))
                (if (char=? #\_ (string-ref theLayerName 0))
                    'Skip    ; レイヤ名が "_" で始まっている場合はスキップする
                    (gimp-file-save RUN-NONINTERACTIVE inImage theLayer theFileName "")))
            theLayerIdList)
 
        (gimp-context-pop)
        (gimp-image-undo-group-end inImage)
        (gimp-displays-flush)))
 
; EOF

export-layers-as-png.scm

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 
 
 
-
|
|
|
|
|
|
|
|
|
|
!
-
!
 
-
|
-
|
!
|
|
|
|
-
-
|
|
-
|
!
!
|
|
|
!
 
 
; 全てのレイヤを PNG としてエクスポート
; ただし、レイヤ名が "_" で始まっている場合はエクスポートしない
 
(script-fu-register
    "script-fu-export-layers-as-png"        ;func name
    "export layers as png"            ;menu label
    "export layers as png for all layers, except layer name start with '_'"
                        ;description
    "TakeAsh"                ;author
    "copyright 2013, TakeAsh"        ;copyright notice
    "2013-02-10"                ;date created
    ""                    ;image type that the script works on
    SF-IMAGE    "Image"        0
    SF-DIRNAME    "OutputDir"    ""
)
(script-fu-menu-register
    "script-fu-export-layers-as-png"    "<Image>/Filters/For All Layers")
 
(define 
    (script-fu-export-layers-as-png inImage inOutputDir)
    (let* (
        (theLayerIdList (vector->list (cadr (gimp-image-get-layers inImage))))
        (theLayerName ""))
 
        (gimp-image-undo-group-start inImage)
        (gimp-context-push)
 
        (for-each
            (lambda (theLayer)
                (set! theLayerName (car (gimp-drawable-get-name theLayer)))
                (define theFileName (string-append inOutputDir "/" theLayerName ".png"))
                (if (char=? #\_ (string-ref theLayerName 0))
                    'Skip    ; レイヤ名が "_" で始まっている場合はスキップする
                    (gimp-file-save RUN-NONINTERACTIVE inImage theLayer theFileName theFileName)))
            theLayerIdList)
 
        (gimp-context-pop)
        (gimp-image-undo-group-end inImage)
        (gimp-displays-flush)))
 
; EOF

添付ファイル: fileexport-layers-with-ext.zip 263件 [詳細] fileexport-layers-as-png.zip 348件 [詳細]

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 08 Apr 2013 04:05:33 JST (1932d)