X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/45fcd6d5e47f5f51e645f12a87776b9b95b2c0b6..3c5fe5b298287f92a9c6a8e485c3860db36931fd:/imgconv.py?ds=sidebyside diff --git a/imgconv.py b/imgconv.py index e00b9c8e..ce514b32 100755 --- a/imgconv.py +++ b/imgconv.py @@ -1,7 +1,8 @@ #!/usr/bin/env python import sys import os -from os.path import splitext, dirname +import shutil +from os.path import splitext, dirname, basename, realpath from PIL import Image, ImageFilter, ImageEnhance, ImageOps @@ -31,12 +32,24 @@ def ratio(image): width, height = image.size return float(width) / height - -for file_name in sys.argv[1:]: + +def try_creating(directory): try: - os.mkdir('output') + os.mkdir(directory) except: pass + + +output_dir = realpath(os.getcwd()) + '/output' +# big_output_dir = output_dir + '/big' +tmp_output_dir = output_dir + '/tmp' + +try_creating(output_dir) +# try_creating(big_output_dir) +try_creating(tmp_output_dir) + + +for file_name in sys.argv[1:]: base_name, ext = splitext(file_name) try: image = Image.open(file_name) @@ -46,34 +59,36 @@ for file_name in sys.argv[1:]: # Check ratio if ratio(image) > 1: - images = [crop(image, 0.5), crop(image, 0.5, True)] + images = [crop(image, 0.6), crop(image, 0.6, from_right=True)] else: images = [image] for i, image in enumerate(images): - image = image.filter(ImageFilter.SHARPEN) - - image = image.filter(ImageFilter.MinFilter) - def convert(i): - if i > 48: - return 255 - return i - image = image.point(convert) - image = ImageOps.autocontrast(image, cutoff=95) - image = image.convert('L') - image = image.filter(ImageFilter.SHARPEN) + image_name = '%s.%d.png' % (basename(base_name), i) # Save files - small_image = resize(image, 480, 720) - small_image_file_name = '%s.small.%d.png' % (base_name, i) - small_image.save(small_image_file_name, optimize=True, bits=6) - os.system('pngnq -n 8 -e .png -d output -f "%s"' % small_image_file_name) - os.remove(small_image_file_name) + small_image = resize(image, 640, 960) + small_image = small_image.convert('L') + small_image = ImageOps.autocontrast(small_image, cutoff=85) + # small_image = small_image.filter(ImageFilter.SHARPEN) + small_image.save(tmp_output_dir + '/' + image_name) + + os.system('pngnq -n 128 -s 1 -e .png -d "%s" -f "%s"' % ( + output_dir, + tmp_output_dir + '/' + image_name, + )) + os.remove(tmp_output_dir + '/' + image_name) - big_image = resize(image, 960, 1440) - big_image_file_name = '%s.big.%d.png' % (base_name, i) - big_image.save(big_image_file_name, optimize=True, bits=6) - os.system('pngnq -n 8 -e .png -d output -f "%s"' % big_image_file_name) - os.remove(big_image_file_name) + # big_image = resize(image, 960, 1440) + # big_image = big_image.convert('L') + # big_image = big_image.filter(ImageFilter.SHARPEN) + # big_image.save(tmp_output_dir + '/' + image_name, optimize=True) + # os.system('pngnq -n 16 -s 1 -e .png -d "%s" -f "%s"' % ( + # big_output_dir, + # tmp_output_dir + '/' + image_name, + # )) + # os.remove(tmp_output_dir + '/' + image_name) sys.stderr.write('.') + +shutil.rmtree(tmp_output_dir)