Files
Perlinator.py/perlinator.py
T
2026-11-04 16:46:16 +01:00

102 lines
2.7 KiB
Python
Executable File

#!/usr/bin/env python
# OOO1.jpg = page de droite
# 0002.jpg = page de gauche
# 0000.jpg = peut-être page vide ?
# 000n.jpg = peut-être page vide ?
#
# Faire ces premières modifications, puis on passe aux ajustements luminosité,
# contraste, etc
#
# Puis on fait le PDF puis on OCR.
# list_of_num = [int(i.split(".")[0]) for i in a]
# list_of_num.sort()
import tkinter as tk
from tkinter import ttk
from PIL import Image, ImageTk
import os
from os import listdir
from tkinter import filedialog
parent = tk.Tk()
parent.title("Perlinator")
parent.minsize(320, 240)
image_files = []
def upload_folder():
folder_path = filedialog.askdirectory()
if folder_path:
global image_files
if not any(
f.lower().endswith((".png", ".jpg", ".jpeg", ".bmp", ".gif"))
for f in listdir(folder_path)
):
popup = tk.Toplevel(parent)
popup.title("Attention")
popup.geometry("300x100")
label = tk.Label(popup, text="Aucune image trouvée dans le dossier.")
label.pack(pady=20)
popup.after(2000, popup.destroy)
return
image_files = [
f
for f in listdir(folder_path)
if f.lower().endswith((".png", ".jpg", ".jpeg", ".bmp", ".gif"))
]
print(f" {len(image_files)} images trouvées dans {folder_path}:")
for image_file in image_files:
print(image_file)
open_button.pack_forget()
else:
popup = tk.Toplevel(parent)
popup.title("Attention")
popup.geometry("300x100")
label = tk.Label(popup, text="Aucun dossier sélectionné.")
label.pack(pady=20)
popup.after(2000, popup.destroy)
def order_pages():
global image_files
image_files.sort(key=lambda x: int(x.split(".")[0]))
# d'abord faire un dialogue →
# order les pages (si pas déjà fait) (0000.jpg, 0001.jpg, 0002.jpg, 0003.jpg, 0004.jpg, 0005.jpg, 0006.jpg, 0007.jpg, 0008.jpg, 0009.jpg, 0010.jpg, etc)
# première / dernière page est elle vide ? (si oui del image)
# orientation pages paires/impaires correct ?
# crop (peut switch entre les pages).
def dialog():
dialog_window = tk.Toplevel(parent)
dialog_window.title("Dialog")
dialog_window.geometry("400x300")
label = tk.Label(dialog_window, text="Dialog content goes here.")
label.pack(pady=20)
close_button = tk.Button(dialog_window, text="Close", command=dialog_window.destroy)
close_button.pack(pady=10)
open_button = tk.Button(
parent,
anchor="center",
cursor="hand2",
text="Selectionner le dossier d'images",
command=upload_folder,
)
open_button.pack(pady=10)
parent.mainloop()