Skip to content
Snippets Groups Projects
Commit b4cde107 authored by Fatima Almohamed Alsadou's avatar Fatima Almohamed Alsadou
Browse files

update

parent 9281dd81
No related branches found
No related tags found
No related merge requests found
imagef=Image.open('images/images/galets.png')
def affiche_image()->Image:
def affiche_image(fichier:str,image:str):
"""
convertir un fichier de px en image
affiche l'image dont les coordonnées sont sont contenus dans le fichier fichier
Précondition :
Exemple(s) :
$$$
"""
liste=lecture_fichier(fichier)
for (x,y) in (250,250):
for i in range (0,int(liste),3):
imagef.putpixel((x,y),(liste[i],liste[i+1],liste[i+2]))
imagef.show()
\ No newline at end of file
coord=[]
res=""
imageaconvertir=Image.open(image)
im=imageaconvertir.convert('RGB')
dessin=ImageDraw.Draw(im)
with open(fichier,'r') as f:
for line in f:
l
for i in range(1,len(line)-2):
if line[i]!=','and line[i]!="'" :
res+=(line[i])
else:
res.strip()
coord.append(int(res))
for i in range(0,len(coord),6):
dessin.rectangle(((coord[i],coord[i+1]),(coord[i+2],coord[i+3])),fill=(coord[i+4],coord[i+5],coord[i+6]))
im.show()
\ No newline at end of file
......@@ -6,5 +6,21 @@ def calcule_moyenne_couleur(*couleur:tuple[int,int,int])->tuple[int,int,int]:
$$$
"""
R=0
V=0
B=0
for i in range(len(couleur)):
R+=(couleur[i][0])
for i in range(len(couleur)):
V+=(couleur[i][1])
for i in range(len(couleur)):
B+=(couleur[i][2])
resR=R/len(couleur)
resV=V/len(couleur)
resB=B/len(couleur)
return (resR,resV,resB)
\ No newline at end of file
......@@ -30,38 +30,41 @@ class Bloc :
def est_uniforme(self)->bool:
"""à_remplacer_par_ce_que_fait_la_fonction
"""renvoie True si le bloc propiétaire de cette methode est uniforme , cad qu'il ne contient pas de sous blocs
Précondition :
Exemple(s) :
$$$
"""
pass
return self.sousblocs==0
def decoupage_sous_blocs(self)->list[tuple[int,int],tuple[int,int],tuple[int,int],tuple[int,int]] :
"""retourne les coordonnees des quatres sous bloc decoupes a partir du bloc sel
"""decouper le bloc proprétaire de cette methode en quatre sous blocs et renvoie une liste contenant quatre elements et chaque element contient les coordonnées du pixelhautgauche et pixelbasdroite de chaque sous blocs découpés
"""
return[(0,self.pxhautgauche[1]),(self.pxbasdroite[0]/2,self.pxhautgauche[1]/2)\
,(self.pxbasdroite[0]/2,self.pxhautgauche[1])\
,(self.pxbasdroite[0],self.pxhautgauche[1]/2)\
,(0,self.pxhautgauche[1]/2),(self.pxbasdroite[0]/2,0)\
,(self.pxbasdroite[0]/2,self.pxhautgauche[1]/2)\
,(self.pxbasdroite[0],0)]
return[((0,self.pxhautgauche[1])\
,(self.pxbasdroite[0]/2,self.pxhautgauche[1]/2))\
,((self.pxbasdroite[0]/2,self.pxhautgauche[1])\
,(self.pxbasdroite[0],self.pxhautgauche[1]/2))\
,((0,self.pxhautgauche[1]/2)\
,(self.pxbasdroite[0]/2,0))\
,((self.pxbasdroite[0]/2,self.pxhautgauche[1]/2)\
,(self.pxbasdroite[0],0))]
def __str__(self)->str:
return f"({self.ordre},{self.hautgauche},{self.basdroite},{self.couleur})"
return f"({self.pxhautgauche},{self.pxbasdroite},{self.couleur},{self.sousblocs})"
def __repr__(self)->'Bloc':
return Bloc({self.ordre},{self.pxhautgauche},{self.pxbasdroite},{self.couleur})
return Bloc({self.pxhautgauche},{self.pxbasdroite},{self.couleur},{self.sousblocs})
......
......@@ -21,15 +21,7 @@ def couleur_moyenne(c1:tuple[int,int,int],c2:tuple[int,int,int],c3:tuple[int,int
return (x//4,y//4,z//4)
def decoupage_image(image:Image)->Image:
"""decoupe un bloc de dimension contenu dans l'image image
renvoie le bloc découpé
Précondition :
Exemple(s) :
$$$
"""
dessin = ImageDraw.Draw(im_rgb)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment