Skip to content

Instantly share code, notes, and snippets.

@josuigoa
Created November 29, 2017 15:52
Show Gist options
  • Save josuigoa/d646de63da6f577859d505cbf4889b50 to your computer and use it in GitHub Desktop.
Save josuigoa/d646de63da6f577859d505cbf4889b50 to your computer and use it in GitHub Desktop.
boletoetan zenbakiak sartu eta automatikoki JPGak esportatzeko script-a
#! /usr/bin/env python
from gimpfu import *
import glob
from os import listdir
from os.path import isfile, isdir, join, splitext
import os
import sys
import string
def run(image, drawable, out_dir, boleto_kop, fontface, fontsize):
# karpeta hori sortu ez bada existitzen
if not os.path.exists(out_dir):
os.mkdir(out_dir)
kontagailua = 0
str_luzera = len(str(boleto_kop))
try:
filter(lambda x: x.name == 'zenb', image.layers)[0]
except:
pdb.gimp_message('ez da "zenb" izeneko testu kaparik aurkitu, programa hau exekutatzeko beharrezkoa dena')
return
while (kontagailua < boleto_kop):
# zabaldua dugun irudiaren kopia bat sortu, originalaren ez aldatzeko
dup_image = pdb.gimp_image_duplicate(image)
# irudiaren kopian 'erab' izena duen testu kapa bat bilatu
zenb_layer = filter(lambda x: x.name == 'zenb', dup_image.layers)[0]
# testu kaparen letra tamaina aldatu
pdb.gimp_text_layer_set_font_size(zenb_layer, fontsize, 0)
# testu kaparen letra mota aldatu
pdb.gimp_text_layer_set_font(zenb_layer, fontface)
kont_str = str(kontagailua)
while (len(kont_str) < str_luzera - 1):
kont_str = '0' + kont_str
pdb.gimp_text_layer_set_text(zenb_layer, kont_str)
# bistan dauden kapa guztiak elkartu. Honetarako bikoiztu dugu irudia, berezkoa 'garbi' mantentzeko
merged_layer = pdb.gimp_image_merge_visible_layers(dup_image, 2)
# gordeko dugun fitxategiaren izena, erabiltzaile izenaren bera
new_filename = out_dir + os.path.sep + kont_str + '.jpg'
# jpeg formatuan gorde
pdb.file_jpeg_save(dup_image, merged_layer, new_filename, "raw_filename", 1, 0.5, 0, 0, image.filename, 0, 0, 0, 0)
# bikoiztutako irudia ezabatu
pdb.gimp_image_delete(dup_image)
kontagailua += 1
register(
"boleto_zenbakiak",
"Zenbakiak automatikoki idatzi eta JPG formatuan gordetzeko",
"Zenbakiak automatikoki idatzi eta JPG formatuan gordetzeko",
"Josu Igoa",
"Josu Igoa",
"2017",
"<Image>/Pluginak/Boleto zenbakiak",
"*",
[
(PF_DIRNAME, 'dir', 'non gorde irudiak?', '/home/josu/boletoak/'),
(PF_INT, 'kopurua', 'boleto kopurua', 100),
(PF_FONT, "font", "letra mota", "Sans"),
(PF_INT, 'fontsize', 'letra tamaina', 80),
],
[],
run
)
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment