Nedávno jsem potřeboval převést větší množství obrázků ve formátu JPG na PNG.
Dělat to ručně přes program na malování se mi nechtělo (byl by to voser) a využívat nějakou online službu taky ne. U těch je množství zdarma omezeno na pár souborů a hlavně, svoje obrázky někam nahráváte a nevíte kam...
Tak jsem si v Pythonu udělal jednoduchý prográmek, který to zvládnul za pár sekund.
Program (nebo spíš skript) pro svou funkčnost vyžaduje samozřejmě nainstalovaný Python. A pro samotnou funkčnost převodníku i knihovnu Pillow (PIL).
Pillow nainstalujeme jednoduše:
pip install pillow
A teď samotný jednoduchý kód:
from PIL import Image
# Cesty k souborům
input_file = "obrazek.jpg"
output_file = "obrazek.png"
# Otevření JPG a uložení jako PNG
with Image.open(input_file) as img:
img.save(output_file, "PNG")
print("Hotovo! Soubor byl převeden na PNG.")
Toto je opravdu jednoduchý základní kód, ze kterého jsem vycházel a dále jsem jej upravil. Tady je na tvrdo zadán název obrázku .jpg a název obrázku .png, ale nejde použít pro hromadné přejmenování většího množství obrázků.
Proto bylo potřeba upravit kód, aby převedl všechny soubory v adresáři dávkově:
import os
from PIL import Image
# Složka se vstupními JPG
input_folder = "vstupni_soubory"
output_folder = "vystupni_png"
# Vytvoří výstupní složku, pokud neexistuje
os.makedirs(output_folder, exist_ok=True)
# Projde všechny soubory ve složce
for filename in os.listdir(input_folder):
if filename.lower().endswith((".jpg", ".jpeg")):
input_path = os.path.join(input_folder, filename)
# Název bez přípony
base_name = os.path.splitext(filename)[0]
output_path = os.path.join(output_folder, base_name + ".png")
# Otevře JPG a uloží jako PNG
with Image.open(input_path) as img:
img.save(output_path, "PNG")
print(f"Převedeno: {filename} → {base_name}.png")
print("Hotovo — všechny JPG byly převedeny.")
Je potřeba jen nastavit cestu k adresáři s JPG soubory v proměnné "input-folder" a cestu k adresáři pro uložení převedených souborů -> proměnná "output_folder".
Dále jsem přidal možnost, že adresář s převedenými soubory se vytvoří automaticky, pokud už neexistuje. Pak bylo potřeba přidat i načtení názvů souborů (ty se nemění). A hotovo.
Výstup může vypadat nějak takto:
C:\Users\michal.sika\prevod>python prevod.py
Převedeno: elektrodilna_01.jpg → elektrodilna_01.png
Převedeno: elektrodilna_02.jpg → elektrodilna_02.png
Převedeno: elektrodilna_03.jpg → elektrodilna_03.png
Převedeno: elektrodilna_04.jpg → elektrodilna_04.png
Převedeno: elektrodilna_05.jpg → elektrodilna_05.png
Převedeno: elektrodilna_06.jpg → elektrodilna_06.png
Převedeno: elektrodilna_07.jpg → elektrodilna_07.png
Převedeno: elektrodilna_08.jpg → elektrodilna_08.png
Převedeno: elektrodilna_09.jpg → elektrodilna_09.png
Převedeno: elektrodilna_10.jpg → elektrodilna_10.png
Převedeno: elektrodilna_11.jpg → elektrodilna_11.png
Převedeno: elektrodilna_12.jpg → elektrodilna_12.png
Převedeno: elektrodilna_13.jpg → elektrodilna_13.png
Převedeno: elektrodilna_14.jpg → elektrodilna_14.png
Převedeno: elektrodilna_15.jpg → elektrodilna_15.png
Převedeno: elektrodilna_16.jpg → elektrodilna_16.png
Převedeno: elektrodilna_17.jpg → elektrodilna_17.png
Převedeno: elektrodilna_18.jpg → elektrodilna_18.png
Převedeno: elektrodilna_19.jpg → elektrodilna_19.png
Převedeno: elektrodilna_20.jpg → elektrodilna_20.png
Převedeno: elektrodilna_21.jpg → elektrodilna_21.png
Převedeno: elektrodilna_22.jpg → elektrodilna_22.png
Převedeno: elektrodilna_23.jpg → elektrodilna_23.png
Převedeno: elektrodilna_24.jpg → elektrodilna_24.png
Převedeno: elektrodilna_25.jpg → elektrodilna_25.png
Převedeno: elektrodilna_26.jpg → elektrodilna_26.png
Převedeno: elektrodilna_27.jpg → elektrodilna_27.png
Převedeno: elektrodilna_28.jpg → elektrodilna_28.png
Převedeno: elektrodilna_29.jpg → elektrodilna_29.png
Převedeno: elektrodilna_30.jpg → elektrodilna_30.png
Převedeno: elektrodilna_31.jpg → elektrodilna_31.png
Převedeno: elektrodilna_32.jpg → elektrodilna_32.png
Převedeno: elektrodilna_33.jpg → elektrodilna_33.png
Převedeno: elektrodilna_34.jpg → elektrodilna_34.png
Převedeno: elektrodilna_35.jpg → elektrodilna_35.png
Hotovo — všechny JPG byly převedeny.
C:\Users\michal.sika\prevod>
Prográmek jsem úspěšně otestoval a převod cca 35 souborů proběhl v několika vteřinách.