diff --git a/image-converter/src/assets/100740-1471947265.jpg b/image-converter/src/assets/100740-1471947265.jpg new file mode 100644 index 0000000..a018f91 Binary files /dev/null and b/image-converter/src/assets/100740-1471947265.jpg differ diff --git a/image-converter/foo.png b/image-converter/src/assets/foo.CR2 similarity index 58% rename from image-converter/foo.png rename to image-converter/src/assets/foo.CR2 index a8a04a1..eeb8baf 100644 Binary files a/image-converter/foo.png and b/image-converter/src/assets/foo.CR2 differ diff --git a/image-converter/src/assets/foo.png b/image-converter/src/assets/foo.png new file mode 100644 index 0000000..b7e1992 Binary files /dev/null and b/image-converter/src/assets/foo.png differ diff --git a/image-converter/src/main.py b/image-converter/src/main.py index 7830077..cec18b1 100644 --- a/image-converter/src/main.py +++ b/image-converter/src/main.py @@ -2,5 +2,5 @@ from modules.raw_parser import (parse_raw_image) if __name__ == "__main__": - parse_raw_image("./assets/foo.CR2", 2000) + parse_raw_image("./src/assets/foo.CR2", 1900, "png") diff --git a/image-converter/src/modules/raw_parser.py b/image-converter/src/modules/raw_parser.py index 3cb0e21..7b3adfa 100644 --- a/image-converter/src/modules/raw_parser.py +++ b/image-converter/src/modules/raw_parser.py @@ -1,9 +1,17 @@ from PIL import Image +import math -def parse_raw_image(src,target_width, target_height): +def parse_raw_image(src: str, max_size_px: int, target_extension: str): rawImage = Image.open(src) - # Use the PIL raw decoder to read the data. - # the 'F;16' informs the raw decoder that we are reading - # a little endian, unsigned integer 16 bit data. - # img = Image.fromstring('L', imgSize, rawData, 'raw', 'F;16') - rawImage.save("foo.png") + + if (rawImage.height > rawImage.width): + target_height = max_size_px + target_width = math.ceil(rawImage.width * max_size_px / rawImage.height) + else: + target_width = max_size_px + target_height = math.ceil(rawImage.height * max_size_px / rawImage.width) + rawImage = rawImage.resize((target_width, target_height)) + + last_dot = src.rfind(".") + result_path = src[:last_dot] + rawImage.save(result_path + "." + target_extension)