extracted function match_image_with_sstv_mode

ironpython
András Veres-Szentkirályi 2013-11-05 21:42:33 +01:00
rodzic c0c6520c40
commit a5e7835224
1 zmienionych plików z 9 dodań i 6 usunięć

Wyświetl plik

@ -136,12 +136,7 @@ def transmit_current_image(image, drawable, mode, vox, fskid):
png_fn = generate_png_filename()
try:
pdb.gimp_file_save(image, drawable, png_fn, png_fn)
pil_img = Image.open(png_fn)
sstv_size = sstv.WIDTH, sstv.HEIGHT
if pil_img.size != sstv_size:
pil_img = pil_img.resize(sstv_size, Image.ANTIALIAS)
if 'grayscale' in sstv.__module__:
pil_img = pil_img.convert('LA').convert('RGB')
pil_img = match_image_with_sstv_mode(Image.open(png_fn), sstv)
root = Tk()
s = sstv(pil_img, 44100, 16)
s.vox_enabled = vox
@ -170,6 +165,14 @@ def generate_png_filename():
os.fdopen(handle).close()
return png_fn
def match_image_with_sstv_mode(image, mode):
mode_size = mode.WIDTH, mode.HEIGHT
if image.size != mode_size:
image = image.resize(mode_size, Image.ANTIALIAS)
if 'grayscale' in mode.__module__:
image = image.convert('LA').convert('RGB')
return image
register(
"pysstv_for_gimp",
"PySSTV for GIMP",