Coverage for pyguymer3/image/return_image_size.py: 67%

15 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-08 18:47 +0000

1#!/usr/bin/env python3 

2 

3# Define function ... 

4def return_image_size( 

5 fname, 

6 /, 

7 *, 

8 compressed = False, 

9): 

10 # Import standard modules ... 

11 import gzip 

12 

13 # Import special modules ... 

14 try: 

15 import PIL 

16 import PIL.Image 

17 PIL.Image.MAX_IMAGE_PIXELS = 1024 * 1024 * 1024 # [px] 

18 except: 

19 raise Exception("\"PIL\" is not installed; run \"pip install --user Pillow\"") from None 

20 

21 # Check if the image is compressed ... 

22 if compressed: 

23 # Open compressed file ... 

24 with gzip.open(fname, mode = "rb") as gzObj: 

25 # Open image as RGB (even if it is paletted) ... 

26 with PIL.Image.open(gzObj) as iObj: 

27 im = iObj.convert("RGB") 

28 else: 

29 # Open image as RGB (even if it is paletted) ... 

30 with PIL.Image.open(fname) as iObj: 

31 im = iObj.convert("RGB") 

32 

33 # Return answer ... 

34 return im.size