⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).postscript ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).postscript ( )
DESCRIPTION.
Créer un fichier image aux spécifications .eps à partir de la zone de dessin.
SYNTAXE.
FIC_Nom = CAN_Toile.postscript ( attribut1 = valeur , ... , attributn = valeur )
FIC_Nom = ⇨ variable identifiant le fichier [ optionnel ]
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.postscript ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa nouvelle valeur [ optionnel ]
LISTE DES ATTRIBUTS DES IMAGES POSTSCRIPT.
colormode = type
Précise le niveau de coloration. type peut être : "color" couleur, "gray" niveau de gris ou "mono" monochrome.
file = nom
Nom du fichier, avec le chemin relatif ou absolu, qui sera enregistré sur le support permanent.
height = taille
Hauteur, en pixels, de la zone à sauvegarder.. Par défaut, taille est égal à la hauteur de la zone de dessin.
rotate = sens
Orientation du dessin lors de l’enregistrent. sens peut valoir : True pour paysage ou False pour portrait.
width = taille
Largeur, en pixels, de la zone à sauvegarder. Par défaut, taille est égal à la largeur de la zone de dessin.
x = debut
Abscisse, en pixels, du bord gauche, où débute la zone à sauvegarder. Par défaut debut vaut 0.
y = debut
Ordonnée, en pixels, du bord haut, où débute la zone à sauvegarder. Par défaut debut vaut 0.
EXEMPLES.
1. Enregistrement du dessin sur support persistant.
import tkinter , tkinter.filedialog
def FNC_Crayon ( event ) :
TKV_Crayon.set ( not TKV_Crayon.get ( ) )
FNC_Dessiner ( )
def FNC_Dessiner ( ) :
kabscisse = TKI_Principal.winfo_pointerx ( ) - CAN_Dessin.winfo_rootx ( )
kordonnee = TKI_Principal.winfo_pointery ( ) - CAN_Dessin.winfo_rooty ( )
kcoordonnees = ( kabscisse - 5 , kordonnee - 5 , kabscisse + 5 , kordonnee + 5 )
CAN_Dessin.create_oval ( *kcoordonnees , fill = TKV_Couleur.get ( ) , width = 0 )
if TKV_Crayon.get ( ) : TKI_Principal.after ( 20 , FNC_Dessiner )
def FNC_Effacer ( ) :
CAN_Dessin.delete ( *CAN_Dessin.find_all ( ) )
def FNC_Sauvegarde ( ) :
kfichier = tkinter.filedialog.asksaveasfilename ( title = "Enregistrer sous ..." , filetypes = [ ( "postscript" , ".eps" ) ] , defaultextension = ".eps" )
if kfichier == "" : return
CAN_Dessin.postscript ( file = kfichier )
TKI_Principal = tkinter.Tk ( )
TKV_Crayon = tkinter.BooleanVar ( )
TKV_Couleur = tkinter.StringVar ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Effacer = tkinter.Button ( TKI_Principal , text = "Effacer" , command = FNC_Effacer )
BUT_Sauver = tkinter.Button ( TKI_Principal , text = "Sauver" , command = FNC_Sauvegarde )
RAD_Rouge = tkinter.Radiobutton ( TKI_Principal , value = "red" , variable = TKV_Couleur , bg = "red" )
RAD_Jaune = tkinter.Radiobutton ( TKI_Principal , value = "yellow" , variable = TKV_Couleur , bg = "yellow" )
RAD_Bleu = tkinter.Radiobutton ( TKI_Principal , value = "blue" , variable = TKV_Couleur , bg = "blue" )
RAD_Vert = tkinter.Radiobutton ( TKI_Principal , value = "palegreen" , variable = TKV_Couleur , bg = "palegreen" )
RAD_Noir = tkinter.Radiobutton ( TKI_Principal , value = "black" , variable = TKV_Couleur , bg = "black" )
RAD_Blanc = tkinter.Radiobutton ( TKI_Principal , value = "white" , variable = TKV_Couleur , bg = "white" )
CAN_Dessin = tkinter.Canvas ( TKI_Principal , bg = "white" , height = 400 , width = 400 )
CAN_Dessin.bind ( "<Button>" , FNC_Crayon )
CAN_Dessin.bind ( "<Leave>" , lambda event : TKV_Crayon.set ( False ) )
CAN_Dessin.grid ( row = 0 , column = 0 , columnspan = 6 , sticky = "nesw" )
RAD_Rouge.grid ( row = 1 , column = 0 , sticky = "nesw" )
RAD_Jaune.grid ( row = 1 , column = 1 , sticky = "nesw" )
RAD_Bleu.grid ( row = 1 , column = 2 , sticky = "nesw" )
RAD_Vert.grid ( row = 1 , column = 3 , sticky = "nesw" )
RAD_Noir.grid ( row = 1 , column = 4 , sticky = "nesw" )
RAD_Blanc.grid ( row = 1 , column = 5 , sticky = "nesw" )
BUT_Sauver.grid ( row = 2 , column = 0 , columnspan = 2 , sticky = "nesw" )
BUT_Effacer.grid ( row = 2 , column = 2 , columnspan = 2 , sticky = "nesw" )
BUT_Quitter.grid ( row = 2 , column = 4 , columnspan = 2 , sticky = "nesw" )
TKV_Crayon.set ( False )
TKV_Couleur.set ( "black" )
TKI_Principal.mainloop ( )
2. Préparation du fichier sous la forme d'un str ( ).
import tkinter
TKI_Principal = tkinter.Tk ( )
CAN_Zone = tkinter.Canvas ( TKI_Principal , bg = "white" , height = 130 , width = 220 )
CAN_Zone.create_rectangle ( 10 , 10 , 70 , 60 , fill = "pink" )
CAN_Zone.create_rectangle ( 80 , 10 , 140 , 60 , fill = "red" )
CAN_Zone.create_rectangle ( 150 , 10 , 210 , 60 , fill = "black" )
CAN_Zone.create_rectangle ( 10 , 70 , 70 , 120 , fill = "navy" )
CAN_Zone.create_rectangle ( 80 , 70 , 140 , 120 , fill = "blue" )
CAN_Zone.create_rectangle ( 150 , 70 , 210 , 120 , fill = "cyan" )
CAN_Zone.pack ( )
tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy ).pack ( )
FIL_Image = CAN_Zone.postscript ( )
print ( FIL_Image )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de