2015年2月7日土曜日

GIMP Script-Fu (5) レイヤー移動を座標値で (GIMP 2.6 用) 改

以前書いた記事の外部リンクが機能しなくなっている事があります。
例えば、これ。  参照先で GIMP 用のスクリプト を参照していたもの とか。 GIMP レイヤー移動を座標値で ( GIMP 2.6 用 )
どうせですから、書いてみますか。  Script-Fu 。
大元の著作者 の Go  さま、手を加えて、発表させて戴きますね。


改良点は  ほとんど手が入っていませんが ... 。
 3600 万画素クラス 7500 x 5000 にも対応させる様に、座標値アップダウンの上限下限を 8000 に変更
 座標値の PgUp PgDn キーの変動幅を 10 から 100 に変更
 変数名を変更 off-? を offsets? に
 以前のものと競合しない様に、関数名を変更
 登録情報を更新

 最初の点は、直接、数値入力では 無関係 です。  元々のスクリプトでも、大きな値の入力が可能です。
                                   

使い方は、 GIMP レイヤー移動を座標値で ( GIMP 2.6 用 ) と同じです。
GIMP 2.8 系では試していません。

基本的な著作権は、  大元の著作者 の Go  さま にあります。


参考までに、コードを載せて置きます。
スクリプト名: Shiro_Layer_Shift.scm
登録関数名: script-fu-shiro-layer-shift

;関数(関数名・引数・処理)

(define (script-fu-shiro-layer-shift img drawable x y type)
(let ((offsetsX 0) (offsetsY 0))
(set! offsetsX (car (gimp-drawable-offsets drawable)))
(set! offsetsY (cadr (gimp-drawable-offsets drawable)))
(if (= type 0)
  (gimp-layer-set-offsets drawable (+ offsetsX x) (+ offsetsY y))
  (gimp-layer-set-offsets drawable x y)
)
(gimp-displays-flush)
))


;登録

(script-fu-register
  "script-fu-shiro-layer-shift"                ;func name
  "レイヤー移動  (Shiro版) UnDo:Ctrl+Z"    ;menu label
  "レイヤーを指定した座標に移動させます"    ;description
  "ShiroYuki_Mot" ;Original scm by"Go"        ;author
  "ShiroYuki_Mot" ;Original scm by"Go"        ;copyright notice
  "2015/01/30"    ;Original scm in 2006/10"    ;date created
  "*"                                                    ;image type on the script
SF-IMAGE    "Image"    0
SF-DRAWABLE "Drawable" 0
SF-ADJUSTMENT "X (横座標)" '(0 -8000 8000 1 100 0 1)
SF-ADJUSTMENT "Y (縦座標)" '(0 -8000 8000 1 100 0 1)
;SF-OPTION    "Coordinates" '("Relative Value" "Absolute Value"))
SF-OPTION     "座標" '("相対値" "絶対値")
)

(script-fu-menu-register "script-fu-shiro-layer-shift"
"<Image>/Layer")


また、直ぐに使える様に、スクリプトのファイルも公開します。
  Encording:UTF-8N  Lines:34  Size:1 KB (1164 B)  Script-Fu (Lang.Jp)
  以下のリンクから、ダウンロードが可能ですが、
  表示の時点で拡張子の問題から エラー と表示されます。  しかし、ファイル自体に問題はありません。
  圧縮はしていないので、そのまま、既定のフォルダに投げ入れて下さい。

         https://drive.google.com/file/d/0B2GanJNrLNVxRDU3M1dlbDM0bFk/view?usp=sharing


尚、以前のスクリプト をお持ちの方に。
差し当たり、共存が可能の様です。
但し、他のスクリプトとの競合については、各自の環境によりますので、ご注意下さい。



2 件のコメント:

  1. ありがとうございます。使わせていただきました。2.8系でも無事動きました。

    返信削除
    返信
    1. Unknown さま コメントありがとうございます。

      ご丁寧に ご報告戴き、 感謝します。
      そうですね。  2.8 系でも 動いている件は 本文に書いていませんね。

      PS: このコメントを入れて下さる為に Blogger Profile を作って下さったのですか?。  感謝!です。

      削除