出力先はxcfファイルが保存されたディレクトリに”xcfベース名\vectors\パス名.svg”形式で作成されます。(xcfファイル名が日本語の場合失敗しました。)
Windows版GIMPのPython-Fuでos.mkdir()で文字化け
日本語を含むパスをos.mkdir()でディレクトリを作ろうとすると文字化けが発生しました。ただ、日本語を含むパスの画像ファイルを開いたり保存したりすることは出来るので、根本的な解決は自分には無理そうに感じました。アルファベットの場合は問題...
スクリプト
#!/usr/bin/env python
# coding: utf8
#
# 全てのパスをエクスポート
#
from gimpfu import *
from array import array
from time import time
import os
def plugin_main(image, layer):
# プログレスバー初期化
gimp.progress_init("ExportAllPath")
# 出力先のディレクトリの作成
dir_path, _ = os.path.splitext(image.filename)
vector_dir = os.path.join(dir_path, 'vectors')
if not(os.path.isdir(dir_path)):
os.mkdir(dir_path)
if not(os.path.isdir(vector_dir)):
os.mkdir(vector_dir)
# パスの一覧を取得
num_paths, path_list = pdb.gimp_path_list(image)
try:
for i in range(num_paths):
svg_path = os.path.join(vector_dir, image.vectors[i].name + '.svg')
# svg形式でエクスポート
pdb.gimp_vectors_export_to_file(image, svg_path, image.vectors[i])
# プログレスバー更新
gimp.progress_update(float(i)/float(num_paths-1))
finally:
# レイヤーの更新
layer.flush()
layer.update(0,0,w,h)
register("ExportAllPath", "", "", "", "", "",
"パス一括エクスポート",
"*",
[
(PF_IMAGE, "image", "Input image", None),
(PF_DRAWABLE, "drawable", "Drawable", None),
],
[],
plugin_main,
menu = "<Image>/Filters/My")
main()
試しにGIMPのテキストでサイト名を入力し「テキストからパスを生成」を実行しスクリプトでSVGファイルをエクスポートしてみました。
以下svg部分を貼り付けた画像。
アウトラインだけだと味気ないので黒で塗りつぶし。画像の幅と高さを大きめに変更してみる。
以上
コメント