我编写了一个 python 函数来模拟在 GIF 上打字的效果,除了波浪线和 eñes 等特殊字符外,它可以工作。
功能
def efecto_escritura(x, y, color,texto):
texto_completo = texto
ultimo_texto=''
imagen_inicial = gimp.image_list()[0]
#Color del texto
gimp.set_foreground(color)
# Parámetros Fuente
fontname= 'Sans' #Tipo de letra
size_type=PIXELS
size= 30 #Tamaño
antialias = True
border = 0
#y = 0
#x = 0
drawable = None
image = imagen_inicial
for i in texto_completo:
ultimo_texto=ultimo_texto+i
layer = pdb.gimp_text_fontname(image, drawable, x, y, ultimo_texto, border, antialias, size, size_type, fontname)
print(ultimo_texto)
利用
在 GIMP 的“Python 控制台”中运行
efecto_escritura(58,209,(255, 255, 255), 'Stackoverflow en español')
错误信息
过程'gimp-text-fontname'的调用错误:过程'gimp-text-fontname'已被调用,参数'text'的值为'Stackoverflow en espaÃ'(#5,类型gchararray)。此值超出范围。
周围
操作系统:Windows 10
Python-GIMP:
print(sys.version)
2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)]
如果 GIMP 控制台能很好地处理 UTF-8 字符,那么使用 Unicode 文字就足够了。也就是说,而不是这样做:
只需将其更改为:
区别在于
u
引号的前面。1)编码:
2) 解码
参考:https ://docs.python.org/2/howto/unicode.html