如何用脚本处理皮肤?
上次写一个如何修改千千静听的皮肤文件用于lmplayer的方法,但是一张一张图片的修改总觉得麻烦,在网上看了看,似乎可以写一个gimp的脚本来批处理,搜了一些资料和例子,试了试,要用到scheme,无奈这方面不太懂。
要是能实现这个脚本实现批处理就方便多了,不知谁这方面比较内行,给写一个脚本处理程序?!
上次写一个如何修改千千静听的皮肤文件用于lmplayer的方法,但是一张一张图片的修改总觉得麻烦,在网上看了看,似乎可以写一个gimp的脚本来批处理,搜了一些资料和例子,试了试,要用到scheme,无奈这方面不太懂。
要是能实现这个脚本实现批处理就方便多了,不知谁这方面比较内行,给写一个脚本处理程序?!
我来写一个,用的是python,只是还有点问题,先给你看看。
#! /usr/bin/env python
import os
from gimpfu import *
def bmp2png(filename, raw_filename, png_filename, png_raw_filename):
image = pdb.file_bmp_load(filename, raw_filename)
layer = pdb.gimp_image_flatten(image)
drawable = pdb.gimp_image_get_active_drawable(image)
pdb.gimp_layer_add_alpha(layer)
color=(255, 0, 255)
threshold=15.0
operation=CHANNEL_OP_REPLACE
antialias=True
feather=False
feather_radius=0
sample_merged=False
pdb.gimp_selection_none(image)
pdb.gimp_by_color_select(drawable, color, threshold, operation, antialias, feather, feather_radius, sample_merged)
is_empty = pdb.gimp_selection_is_empty(image)
if is_empty:
print “select nothing. done”
else:
pdb.gimp_edit_clear(drawable)
pdb.file_png_save_defaults(image, drawable, png_filename, png_raw_filename)
def ttskin2lmp(path):
filename=”"
raw_filename=”"
png_filename=”"
png_raw_filename=”"
bmps = os.listdir(path)
for bmp in bmps:
if os.path.isdir(bmp):
continue
else:
file_ext = os.path.splitext(bmp)
if file_ext[1] == “.bmp”:
filename =path “/” bmp
raw_filename = filename
png_filename = path “/” file_ext[0] “.png”
png_raw_filename = png_filename
print filename
print raw_filename
print png_filename
print png_raw_filename
bmp2png(filename, raw_filename, png_filename, png_raw_filename)
else:
continue
register(
“ttskin2lmp”, “”,
“/Xtns/Script-Fu/Test/_TTskin2lmp”, “”,
[
(PF_STRING, “arg0″, “argument 0″, “test string”),
],
[],
ttskin2lmp
)
main()
在gimp中显示不出来,不知为什么。但可以这样用,也很方便:
在gimp中打开python控制台,将上面来个函数粘贴进去,注意粘贴时不能有错误,然后运行:
ttskin2lmp(”string to path”)