Attention ! Gitlab fournissant maintenant nativement des certificats Let’s Encrypt aux domaines personnalisés des Gitlab Pages, nous avons coupé notre service qui le faisait automatiquement pour vous.

Il est impératif, pour que votre domaine personnalisé continue à avoir un certificat Let’s Encrypt à jour, d’activer la fonctionnalité native dans les paramètres de votre projet. Cette activation remplacera votre certificat actuel par un nouveau certificat Let’s Encrypt géré par Gitlab.

Voir les détails sur https://docs.framasoft.org/fr/gitlab/gitlab-pages-le.html

Commit ab80188f authored by Abdessamad Akabli's avatar Abdessamad Akabli

- Les modifications effectuées sur les images se font désormais sur une copie...

- Les modifications effectuées sur les images se font désormais sur une copie l'image_modele() à chaque fois.
- Améliorations sur la fonction save() et save2() => [Pouvoir sauvegarder à chaque modification sur l'image]
parent fb305883
......@@ -8,6 +8,8 @@ from PIL import Image,ImageTk
import os
import tkinter as tk
# Variables globales
image_modele = None
chemin_image = None
image = None
......@@ -15,6 +17,7 @@ quitter = 0
revenir_menu_principal = 0
photo = None
root = None
image_modifie = None
#Fonction qui va chercher l'image et l'ouvrir ( Avec chemin d'accès absolu ou relatif )
def ouvrir_image():
......@@ -50,6 +53,7 @@ def afficher_image():
fen.title("Traitement de l'image")
tk.Label(fen, text="Un problème est survenu, nous ne pouvons pas ouvrir cette image !").pack()
else:
global image
image_modele.show()
......@@ -67,6 +71,7 @@ def montrer_image(image):
def afficher_infos_image():
global chemin_image
varA = *image.size,
root = tk.Tk()
root.title("Traitement de l'image")
......@@ -79,67 +84,88 @@ def afficher_infos_image():
#Fonction qui va inverser la couleur pour chaque pixel ( Boucles ? // Créer la fonction et ne pas se baser sur celles déjà existante )
def negatif_couleur():
global image_modifie
image_negatif = image_modele.copy()
(largeur, hauteur)= image.size
for x in range(largeur):
for y in range(hauteur):
(rouge,vert,bleu) = image.getpixel((x,y))
(rouge,vert,bleu) = image_negatif.getpixel((x,y))
(rouge,vert,bleu) = (255-rouge,255-vert,255-bleu)
image.putpixel((x,y),(rouge,vert,bleu))
image.show()
image_negatif.putpixel((x,y),(rouge,vert,bleu))
image_negatif.show()
image_modifie = image_negatif.copy()
#Fonction qui va faire pivoter l'ensemble de l'image (RGB->RBG // RGB->BGR // RGB->GBR // RBG->GRB)
def rotation_couleurs():
global image_modele
(largeur, hauteur)= image.size
def rgb():
image.show()
global image_modifie
image_modele.show()
image_modifie = image_modele.copy()
def bgr():
global image_modifie
image_bgr = image_modele.copy()
for x in range(largeur): #Parcourir la largeur de l'image
for y in range(hauteur):#Parcourir la longueur de l'image
(rouge,vert,bleu) = image.getpixel((x,y)) #Récupérer les pixels (x,y) et les stocker dans une liste
(rouge,vert,bleu) = image_bgr.getpixel((x,y)) #Récupérer les pixels (x,y) et les stocker dans une liste
(rouge,vert,bleu) = (bleu,vert,rouge)
image.putpixel((x,y),(rouge,vert,bleu))
image.show()
image_bgr.putpixel((x,y),(rouge,vert,bleu))
image_bgr.show()
image_modifie = image_bgr.copy()
def grb():
global image_modifie
image_grb = image_modele.copy()
for x in range(largeur):
for y in range(hauteur):
(rouge,vert,bleu) = image.getpixel((x,y))
(rouge,vert,bleu) = (vert,bleu,rouge)
image.putpixel((x,y),(rouge,vert,bleu))
image.show()
(rouge,vert,bleu) = image_grb.getpixel((x,y))
(rouge,vert,bleu) = (vert,rouge,bleu)
image_grb.putpixel((x,y),(rouge,vert,bleu))
image_grb.show()
image_modifie = image_grb.copy()
def gbr():
global image_modifie
image_gbr = image_modele.copy()
for x in range(largeur):
for y in range(hauteur):
(rouge,vert,bleu) = image.getpixel((x,y))
(rouge,vert,bleu) = image_gbr.getpixel((x,y))
(rouge,vert,bleu) = (vert,bleu,rouge)
image.putpixel((x,y),(rouge,vert,bleu))
image.show()
image_gbr.putpixel((x,y),(rouge,vert,bleu))
image_gbr.show()
image_modifie = image_gbr.copy()
root = tk.Tk()
root.title("Traitement de l'image")
tk.Label(root, text="Quel mode de rotation colorimétrique voulez-vous ?").pack()
tk.Button(root, text=" - RGB - Rotation RGB->RBG", command = rgb).pack()
tk.Button(root, text=" - RBG - Rotation RGB->RBG", command = rgb).pack()
tk.Button(root, text=" - BGR - Rotation RGB->BGR", command = bgr).pack()
tk.Button(root, text=" - GBR - Rotation RGB->GBR", command = grb).pack()
tk.Button(root, text=" - GRB - Rotation RGB->GRB", command = grb).pack()
tk.Button(root, text=" - GBR - Rotation RGB->GBR", command = gbr).pack()
tk.Button(root, text="Retour",fg = "red", command = root.destroy).pack()
#Fonction qui va faire pivoter l'ensemble de l'image (-90°,90° et 180° et choix)
def rotation_image():
def plus90():
global image
image_modifie = image_modele.copy()
def plus90():
image = image_modele.copy()
global image_modifie
angle = 90
image2 = image.rotate(angle)
image2.show()
image_modifie = image.rotate(angle, Image.BICUBIC, True)
image_modifie.show()
fen = tk.Tk()
fen.title("Traitement de l'image")
tk.Label(fen, text="Voulez vous sauvegarder cette image ?").pack()
tk.Button(fen, text="Oui", command = save2).pack()
def moins90():
def moins90():
image = image_modele.copy()
global image_modifie
angle = -90
image2 = image.rotate(angle)
image2.show()
image_modifie = image.rotate(angle, Image.BICUBIC, True)
image_modifie.show()
fen = tk.Tk()
fen.title("Traitement de l'image")
tk.Label(fen, text="Voulez vous sauvegarder cette image ?").pack()
......@@ -147,25 +173,31 @@ def rotation_image():
def plus180():
image = image_modele.copy()
global image_modifie
angle = 180
image2 = image.rotate(angle)
image2.show()
image_modifie = image.rotate(angle, Image.BICUBIC, True)
image_modifie.show()
fen = tk.Tk()
fen.title("Traitement de l'image")
tk.Label(fen, text="Voulez vous sauvegarder cette image ?").pack()
tk.Button(fen, text="Oui",fg="blue", command = save2).pack()
def angle_choix():
image = image_modele.copy()
def test():
global image_modifie
global image
global angle_image
angle_image = int(str(angle_image.get()))
angle_adapte = angle_image % 360.0
image_angle_choix = image.rotate(angle_adapte)
image_angle_choix = image.rotate(angle_adapte, Image.BICUBIC, True)
image_angle_choix.show()
global image
image_modifie = image_angle_choix.copy()
global angle_image
global image_modifie
fen2 = tk.Tk()
fen2.title("Traitement de l'image")
tk.Label(fen2, text="Donnez l'angle").pack()
......@@ -192,13 +224,21 @@ def rotation_image():
root.mainloop()
#Fonction qui permet de définir la direction de rotation physique (Gauche, droite, retourner b )
def symetrie_image():
def symetrie_image():
global image
def symetrieV():
SymétrieV = image.transpose(Image.FLIP_LEFT_RIGHT)
SymétrieV.show()
global image_modifie
image = image_modele.copy()
SymetrieV = image.transpose(Image.FLIP_LEFT_RIGHT)
SymetrieV.show()
image_modifie = SymetrieV.copy()
def symetrieH():
SymétrieH = image.transpose(Image.FLIP_TOP_BOTTOM)
SymétrieH.show()
global image_modifie
image = image_modele.copy()
SymetrieH = image.transpose(Image.FLIP_TOP_BOTTOM)
SymetrieH.show()
image_modifie = SymetrieH.copy()
root = tk.Tk()
tk.Label(root, text="Selon quel axe voulez-vous effectuer la symétrie ?").pack()
frame=tk.Frame(root)
......@@ -214,11 +254,11 @@ def symetrie_image():
def save2():
def sauvegarde():
nom_image = input_utilisateur.get()
image3.save(nom_image) #problème
image_save.save(nom_image) #problème
tk.Label(fen, text="Votre sauvegarde s'est effectuée avec succès !", fg = "green").pack()
tk.Button(fen, text="Quitter", fg = "red", command = fen.destroy).pack()
global image2
image3 = image2
global image_modifie
image_save = image_modifie.copy()
fen = tk.Tk()
fen.title("Traitement de l'image")
label = tk.Label(fen, text="Entrez le nom du fichier")
......@@ -231,11 +271,11 @@ def save2():
def save():
def sauvegarde():
nom_image = input_utilisateur.get()
image2.save(nom_image) #problème
image_save.save(nom_image) #problème
tk.Label(fen, text="Votre sauvegarde s'est effectuée avec succès !", fg = "green").pack()
tk.Button(fen, text="Quitter", fg = "red", command = fen.destroy).pack()
global image
image2 = image
image_save = image_modifie.copy()
fen = tk.Tk()
fen.title("Traitement de l'image")
label = tk.Label(fen, text="Entrez le nom du fichier")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment