File: test_imagelist.py

package info (click to toggle)
lazpaint 7.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 56,000 kB
  • sloc: pascal: 277,538; python: 2,494; makefile: 233; sh: 221
file content (31 lines) | stat: -rw-r--r-- 986 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Make thumbnails of JPG as PNG format
from lazpaint import imagelist, image, dialog, view

THUMBNAIL_WIDTH = 128
THUMBNAIL_HEIGHT = 128

path = dialog.show_directory_dialog("Select a directory of pictures")
imagelist.clear()
imagelist.set_auto_uncheck_mode(imagelist.UNCHECK_ON_SAVE)
imagelist.set_auto_zoom_fit(True)
imagelist.add_files(path + "/*.jpg")
if imagelist.get_file_count() == 0:
  dialog.show_message("No JPG file found")
  exit()

thumbnails = []
for filename in imagelist.iterate(True):
  width, height = image.get_size()
  ratio_x = THUMBNAIL_WIDTH / width
  ratio_y = THUMBNAIL_HEIGHT / height
  ratio = min(ratio_x, ratio_y)
  image.resample(max(1, width*ratio), max(1, height*ratio))
  view.set_zoom()
  new_filename = image.change_file_extension(filename, "png")
  image.export(file_name=new_filename, validate=True, overwrite=False, skip_options=True)
  thumbnails.append(new_filename)

imagelist.clear()
imagelist.add_files(thumbnails)
imagelist.open_first(True)