Created
November 29, 2017 15:52
-
-
Save josuigoa/d646de63da6f577859d505cbf4889b50 to your computer and use it in GitHub Desktop.
boletoetan zenbakiak sartu eta automatikoki JPGak esportatzeko script-a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /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