diff --git a/.idea/A2.iml b/.idea/A2.iml index 8b8c395..66cf7c6 100644 --- a/.idea/A2.iml +++ b/.idea/A2.iml @@ -1,8 +1,10 @@ - - + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 46bfd59..942783f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,7 @@ - + + + \ No newline at end of file diff --git a/TP1/.idea/.gitignore b/TP1/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/TP1/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/TP1/.idea/TP1.iml b/TP1/.idea/TP1.iml deleted file mode 100644 index 2c80e12..0000000 --- a/TP1/.idea/TP1.iml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/TP1/.idea/discord.xml b/TP1/.idea/discord.xml deleted file mode 100644 index 30bab2a..0000000 --- a/TP1/.idea/discord.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/TP1/.idea/inspectionProfiles/profiles_settings.xml b/TP1/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/TP1/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/TP1/.idea/misc.xml b/TP1/.idea/misc.xml deleted file mode 100644 index 59ddb5f..0000000 --- a/TP1/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/TP1/.idea/modules.xml b/TP1/.idea/modules.xml deleted file mode 100644 index 0cc9f92..0000000 --- a/TP1/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/TP1/.idea/vcs.xml b/TP1/.idea/vcs.xml deleted file mode 100644 index 6c0b863..0000000 --- a/TP1/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/TP1/tp1.py b/TP1/tp1.py index 2366df5..bf206c3 100644 --- a/TP1/tp1.py +++ b/TP1/tp1.py @@ -1,11 +1,11 @@ -def celsius_fahrenheit(celcius): - return celcius * 9 / 5 + 32 +def celsius_fahrenheit(celsius): + return celsius * 9 / 5 + 32 def mention(note): if note < 0: return "Note hors échelle" - if note < 10: + elif note < 10: return "Insuffisant" elif note < 12: return "Passable" @@ -49,13 +49,13 @@ def occurrences_lettres(mot): return {c: mot.count(c) for c in mot} -points_lettres = { - 1 : ["E", "A", "I", "N", "O", "R", "S", "T", "U", "L"], - 2 : ["D", "M", "G"], - 3 : ["B", "C", "P"], - 4 : ["F", "H", "V"], - 8 : ["J", "Q"], - 10 : ["K", "W", "X", "Y", "Z"] +points_lettres_scrabble = { + 1: ["E", "A", "I", "N", "O", "R", "S", "T", "U", "L"], + 2: ["D", "M", "G"], + 3: ["B", "C", "P"], + 4: ["F", "H", "V"], + 8: ["J", "Q"], + 10: ["K", "W", "X", "Y", "Z"] } diff --git a/TP2/hiddenImage1.png b/TP2/hiddenImage1.png new file mode 100644 index 0000000..4bb4e84 Binary files /dev/null and b/TP2/hiddenImage1.png differ diff --git a/TP2/hiddenImage2.png b/TP2/hiddenImage2.png new file mode 100644 index 0000000..c9fbf2b Binary files /dev/null and b/TP2/hiddenImage2.png differ diff --git a/TP2/hiddenImage3.png b/TP2/hiddenImage3.png new file mode 100644 index 0000000..4a693d9 Binary files /dev/null and b/TP2/hiddenImage3.png differ diff --git a/TP2/hiddenImage4.png b/TP2/hiddenImage4.png new file mode 100644 index 0000000..c78c424 Binary files /dev/null and b/TP2/hiddenImage4.png differ diff --git a/TP2/hiddenText1.png b/TP2/hiddenText1.png new file mode 100644 index 0000000..805c2e8 Binary files /dev/null and b/TP2/hiddenText1.png differ diff --git a/TP2/hiddenText2.png b/TP2/hiddenText2.png new file mode 100644 index 0000000..aab6301 Binary files /dev/null and b/TP2/hiddenText2.png differ diff --git a/TP2/hiddenText3.png b/TP2/hiddenText3.png new file mode 100644 index 0000000..a8a9ac3 Binary files /dev/null and b/TP2/hiddenText3.png differ diff --git a/TP2/hiddenText4.png b/TP2/hiddenText4.png new file mode 100644 index 0000000..c0b602b Binary files /dev/null and b/TP2/hiddenText4.png differ diff --git a/TP2/lena.png b/TP2/lena.png new file mode 100644 index 0000000..694e951 Binary files /dev/null and b/TP2/lena.png differ diff --git a/TP2/lena_miror.png b/TP2/lena_miror.png new file mode 100644 index 0000000..b9a7f94 Binary files /dev/null and b/TP2/lena_miror.png differ diff --git a/TP2/main.py b/TP2/main.py new file mode 100644 index 0000000..283abab --- /dev/null +++ b/TP2/main.py @@ -0,0 +1,32 @@ +from tp2 import * +from tp2_optionnel import * + +def __main__(): + fond_bleu = Image.new("RGB", (450, 300), (0, 0, 255)) + fond_bleu.show() + drapeau_fr = creer_drapeau_francais() + drapeau_fr.show() + degrade_vertical = creer_degrade_vertical() + degrade_vertical.show() + lena = Image.open("lena.png") + lena.show() + print(lena.size) + r, g, b = lena.getpixel((0,0)) + print(r, g, b) + lena_miror = miroir(lena) + lena_miror.show() + lena_miror.save("lena_miror.png") + lena_negatif = negatif(lena) + lena_negatif.show() + lena_niveaux_gris = niveaux_gris(lena) + lena_niveaux_gris.show() + lena_tournee = rotation90(lena, True) + lena_tournee.show() + lena_tournee = rotation90(lena, False) + lena_tournee.show() + lena_contours = contours(lena, 50) + lena_contours.show() + + +if __name__ == "__main__": + __main__() \ No newline at end of file diff --git a/TP2/tp2.py b/TP2/tp2.py new file mode 100644 index 0000000..85e0e50 --- /dev/null +++ b/TP2/tp2.py @@ -0,0 +1,30 @@ +from PIL import Image + + +def creer_drapeau_francais(): + img = Image.new("RGB", (450, 300), (255, 255, 255)) + for x in range(150): + for y in range(300): + img.putpixel((x, y), (0, 0, 255)) + for x in range(300, 450): + for y in range(300): + img.putpixel((x, y), (255, 0, 0)) + return img + + +def creer_degrade_vertical(): + img = Image.new("RGB", (300, 300), (0, 0, 0)) + for x in range(300): + for y in range(300): + img.putpixel((y, x), (x, x, x)) + return img + + +def miroir(image): + largeur, hauteur = image.size + img = Image.new("RGB", (largeur, hauteur), (0, 0, 0)) + for x in range(largeur): + for y in range(hauteur): + r, g, b = image.getpixel((x, y)) + img.putpixel((largeur - x - 1, y), (r, g, b)) + return img \ No newline at end of file diff --git a/TP2/tp2_optionnel.py b/TP2/tp2_optionnel.py new file mode 100644 index 0000000..b675327 --- /dev/null +++ b/TP2/tp2_optionnel.py @@ -0,0 +1,55 @@ +from PIL import Image + + +def negatif(image): + largeur, hauteur = image.size + img = Image.new("RGB", (largeur, hauteur), (0, 0, 0)) + for x in range(largeur): + for y in range(hauteur): + r, g, b = image.getpixel((x, y)) + img.putpixel((x, y), (255 - r, 255 - g, 255 - b)) + return img + + +def niveaux_gris(image): + largeur, hauteur = image.size + img = Image.new("RGB", (largeur, hauteur), (0, 0, 0)) + for x in range(largeur): + for y in range(hauteur): + r, g, b = image.getpixel((x, y)) + gris = (r + g + b) // 3 + img.putpixel((x, y), (gris, gris, gris)) + return img + + +def rotation90(image, sens_trigo): + largeur, hauteur = image.size + img = Image.new("RGB", (hauteur, largeur), (0, 0, 0)) + for x in range(largeur): + for y in range(hauteur): + r, g, b = image.getpixel((x, y)) + if sens_trigo : + img.putpixel((hauteur - y - 1, x), (r, g, b)) + else : + img.putpixel((y, largeur - x - 1), (r, g, b)) + return img + +def contours(image, s): + largeur, hauteur = image.size + img = Image.new("RGB", (largeur, hauteur), (255, 255, 255)) + for x in range(largeur): + for y in range(hauteur): + r, g, b = image.getpixel((x, y)) + if x == 0 or x == largeur - 1 or y == 0 or y == hauteur - 1: + img.putpixel((x, y), (r, g, b)) + else: + r1, g1, b1 = image.getpixel((x - 1, y)) + r2, g2, b2 = image.getpixel((x + 1, y)) + r3, g3, b3 = image.getpixel((x, y - 1)) + r4, g4, b4 = image.getpixel((x, y + 1)) + if abs(r - r1) > s or abs(r - r2) > s or abs(r - r3) > s or abs(r - r4) > s: + img.putpixel((x, y), (0, 0, 0)) + else: + img.putpixel((x, y), (255, 255, 255)) + return img +