FFMpeg-Compressor: FallBackExtension parameter

This commit is contained in:
OleSTEEP 2023-11-28 19:07:09 +03:00
parent 2f31c22d91
commit e70dd56142
3 changed files with 5 additions and 3 deletions

View file

@ -20,6 +20,7 @@ Python utility uses ffmpeg to compress Visual Novel Resources
#### IMAGE section
* Extension - Required image file extension. It supports: `.apng`, `.avif`, `.bmp`, `.tga`, `.tiff`, `.dds`, `.svg`, `.webp`, `.jpg/.jpeg`, `.png`
* FallBackExtension - Extension if current format does not support RGBA.
* Lossless - Enables lossless copression for supported formats. With this quality parameter means quality of compression. (default: `false`)
* Quality - Quality level of images. Values range: `0-100` (100 - best quality, 0 - worst quality)

View file

@ -10,6 +10,7 @@ BitRate = "320k"
[IMAGE]
Extension = "avif"
FallBackExtension = "webp"
Lossless = false
Quality = 80

View file

@ -62,11 +62,11 @@ def compress_image(folder, file, target_folder, extension):
image = Image.open(f'{folder}/{file}')
if (extension == "jpg" or extension == "jpeg" or
if (extension == "jpg" or extension == "jpeg" or extension == "avif" or
(extension == "webp" and not configloader.config['FFMPEG']['WebpRGBA'])):
if has_transparency(Image.open(f'{folder}/{file}')):
printer.warning(f"{file} has transparency. Changing to png...")
extension = ".png"
printer.warning(f"{file} has transparency. Changing to fallback...")
extension = configloader.config['IMAGE']['FallBackExtension']
printer.files(file, os.path.splitext(file)[0], extension, f"{quality}%")
image.save(f"{target_folder}/{os.path.splitext(file)[0]}.{extension}",