FFMpeg-Compressor: Add resolution scaledown
This commit is contained in:
parent
7c355e38f7
commit
f9f6afe95a
2 changed files with 8 additions and 2 deletions
|
@ -10,10 +10,11 @@ Extension = "opus"
|
||||||
BitRate = "128k"
|
BitRate = "128k"
|
||||||
|
|
||||||
[IMAGE]
|
[IMAGE]
|
||||||
|
ResDownScale = 1
|
||||||
Extension = "avif"
|
Extension = "avif"
|
||||||
FallBackExtension = "webp"
|
FallBackExtension = "webp"
|
||||||
Lossless = false
|
Lossless = true
|
||||||
Quality = 80
|
Quality = 100
|
||||||
|
|
||||||
[VIDEO]
|
[VIDEO]
|
||||||
Extension = "webm"
|
Extension = "webm"
|
||||||
|
|
|
@ -66,12 +66,17 @@ def compress_image(folder, file, target_folder, extension):
|
||||||
try:
|
try:
|
||||||
image = Image.open(f'{folder}/{file}')
|
image = Image.open(f'{folder}/{file}')
|
||||||
|
|
||||||
|
width, height = image.size
|
||||||
|
res_downscale = configloader.config['IMAGE']['ResDownScale']
|
||||||
|
new_size = (int(width / res_downscale), int(height / res_downscale))
|
||||||
|
|
||||||
if (extension == "jpg" or extension == "jpeg" or extension == "avif" or
|
if (extension == "jpg" or extension == "jpeg" or extension == "avif" or
|
||||||
(extension == "webp" and not configloader.config['FFMPEG']['WebpRGBA'])):
|
(extension == "webp" and not configloader.config['FFMPEG']['WebpRGBA'])):
|
||||||
if has_transparency(image):
|
if has_transparency(image):
|
||||||
printer.warning(f"{file} has transparency. Changing to fallback...")
|
printer.warning(f"{file} has transparency. Changing to fallback...")
|
||||||
extension = configloader.config['IMAGE']['FallBackExtension']
|
extension = configloader.config['IMAGE']['FallBackExtension']
|
||||||
|
|
||||||
|
image = image.resize(new_size)
|
||||||
image.save(utils.check_duplicates(f"{target_folder}/{os.path.splitext(file)[0]}.{extension}"),
|
image.save(utils.check_duplicates(f"{target_folder}/{os.path.splitext(file)[0]}.{extension}"),
|
||||||
optimize=True,
|
optimize=True,
|
||||||
lossless=configloader.config['IMAGE']['Lossless'],
|
lossless=configloader.config['IMAGE']['Lossless'],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue