- NOM
- photo - Images en couleur
- SYNTAXE
- image create photo ?NOM? ?options?
- DESCRIPTION
- CREATION DE PHOTOS
- -data chaîne
- -format format-nom
- -file NOM
- -gamma valeur
- -height nombre
- -palette palette-spec
- -width nombre
- IMAGE COMMAND
- imageName blank
- imageName cget option
- imageName configure ?option? ?valeur option valeur ...?
- imageName copy sourceImage ?option valeur(s) ...?
- -from x1 y1 x2 y2
- -to x1 y1 x2 y2
- -shrink
- -zoom x y
- -subsample x y
- imageName les données ?option valeur(s) ...?
- -background color
- -format format-nom
- -from x1 y1 x2 y2
- -grayscale
- imageName get x y
- imageName put les données ?option valeur(s) ...?
- -format format-nom
- -from x1 y1 x2 y2
- -shrink
- -to x y
- imageName read filename ?option valeur(s) ...?
- -format format-nom
- -from x1 y1 x2 y2
- -shrink
- -to x y
- imageName redither
- imageName write filename ?option valeur(s) ...?
- -background color
- -format format-nom
- -from x1 y1 x2 y2
- -grayscale
- FORMATS D'IMAGE
- ALLOCATION DE COULEUR
- CREDITS
- MOTS-CLES
photo - Images en couleur
image create photo ?NOM? ?options?
Une photo est une image dont les pixels peuvent afficher n'importe quelle couleur ou être
transparents. Une image photo est stockée en interne en couleurs vraies (32
bits par pixel), et est affichée en utilisant le dithering si nécessaire.
Les données d'une image photo peuvent être obtenues à partir d'un fichier ou d'une chaîne, ou
peuvent être fournies à partir de
code C au travers d'une interface procedurale. A présent, seuls les formats GIF et PPM/PGM
sont supportée, mais une interface existe pour permettre l'ajout de formats de fichier image supplémentaires
facilement. Une image photo est transparente
dans les zones où aucunes données n'ont été fournies.
Comme toutes les images, les photos sont créées en utilisant la commande image create.
Les photos supportent les options suivantes:
- -data chaîne
-
Spécifie le contenu de l'image comme une chaîne. La chaîne peut
contenir des données encodées base64 ou binaires. Le format de la
chaîne doit être un de ceux pour lesquels il y a un gestionnaire de format de fichier image
qui accepte les données de la chaîne. Si les options -data
et -file sont spécifiées, l' option -file prend la
précédence.
- -format format-nom
-
Spécifie le nom du format de fichier des données spécifié avec l'option
-data ou -file .
- -file NOM
-
NOM donne le nom d'un fichier qui sera lu pour fournir les données
d'une image photo. le format de fichier doit être un de ceux pour lesquels il y a un gestionnaire de format de fichier image qui saura lire les données.
- -gamma valeur
-
Spécifie que les couleurs allouées pour l'affichage de cette image dans une
fenêtre doivent être corrigées pour un affichage non linéaire avec la
valeur d'exposant gamma spécifiée. (L'intensité produite par la plupart des
écrans cathodiques est à peu près une fonction exponentielle de la valeur du signal d'entrée; gamma est l'exposant et est généralement autour de 2).
La valeur spécifiée doit être supérieure à zéro. La valeur par défaut
est un (pas de correction). En général, les valeurs supérieures à un
rendront l'image plus claire, et les valeurs inférieures à un la rendront
plus sombre.
- -height nombre
-
Spécifie la hauteur de l'image, en pixels. Cette option est utile
principalement dans les situations où l'utilisateur souhaite construire le contenu
de l'image pièce par pièce. Une valeur de zéro (par défaut) permet à
l'image d'être étendue ou réduite verticalement pour s'adapter aux données qu'elle contient.
- -palette palette-spec
-
Spécifie la résolution du cube de couleurs à allouer pour
l'affichage de cette image, et donc le nombre de couleurs utilisées sur celles disponibles
dans les fenêtres où elle est affichée. La
chaîne palette-spec peut être soit un seul nombre décimal,
soit la spécification du nombre de nuances de gris à utiliser, ou trois nombres décimaux
séparés par des slashes (/), soit la spécification le nombre de nuances de rouge, vert et bleu à utiliser. Si la première forme (un seul nombre) est utilisée, l'image sera affichée en monochrome (c.a.d.,
en nuances de gris).
- -width nombre
-
Spécifie la largeur de l'image, en pixels. Cette option est utile
principalement dans les situations où l'utilisateur souhaite construire le contenu
de l'image pièce par pièce. Une valeur de zéro (par défaut) permet à
l'image d'être étendue ou réduite horizontalement pour s'adapter aux données qu'elle contient.
Quand une image photo est créée, Tk crée également une nouvelle commande
du même nom que l'image.
cette commande peut être utilisée pour effectuer diverses opérations
sur l'image.
Elle a la forme générale suivante:
imageName option ?arg arg ...?
Option et args
déterminent le comportement exact de la commande.
Ces options qui écrivent les données vers l'image agrandissent généralement la taille
de l'image, si nécessaire, pour s'adapter aux données écrites, à moins que l'utilisateur ait spécifié des valeurs non-nulles pour les options de configuration
-width et/ou -height , auquel
cas la largeur et/ou la hauteur, respectivement, de l'image ne sera pas
modifiée.
Les commandes suivantes sont possibles pour les images photo:
- imageName blank
-
Efface l'image; vide entièrement l'image de ses données, elle
sera ainsi affichée transparente, et l'arrière-plan de la
fenêtre sur laquelle elle est affichée deviendra visible.
- imageName cget option
-
Retourne la valeur courante de l'option de configuration indiquée
par option.
Option peut prendre n'importe quelle des valeurs acceptées par la
commande image create photo.
- imageName configure ?option? ?valeur option valeur ...?
-
Interroge ou modifie les options de configuration de l'image.
Si aucune option n'est spécifiée, retourne une liste décrivant toutes
les options disponibles de imageName (voir Tk_ConfigureInfo pour
information sur le format de cette liste). Si option est spécifiée
sans valeur, alors la commande retourne une liste décrivant l'option
indiquée (cette liste sera identique à la correspondante
sous-liste de la valeur retournée si aucune option n'est spécifiée). Si
un ou plusieurs paires option-valeur sont spécifiées, alors la commande
donne à l'option(s)la valeur(s) indiquée; dans
ce cas la commande retourne une chaîne vide.
Option peut prendre n'importe quelle des valeurs acceptées par la
commande image create photo.
- imageName copy sourceImage ?option valeur(s) ...?
-
Copie une partie de l'image appelée sourceImage (qui doit
être une image photo) vers l'image appelée imageName, probablement avec
pixellisation et/ou perte de qualité. Si aucunes options ne sont spécifiées, cette
commande copie la totalité de sourceImage dans imageName,
commencant aux coordonnées (0,0) dans imageName. Les
options suivantes peuvent être spécifiée:
- -from x1 y1 x2 y2
-
Spécifie une zone rectangulaire de l'image source à copier.
(x1,y1) et (x2,y2) indiquent les coins diagonalement opposés
du rectangle. Si x2 et y2 ne sont pas spécifiés, la
valeur par défaut est coin inférieur droit de l'image source. Les
pixels copiés incluront les extrémités gauche et supérieure du rectangle spécifié
mais pas l'extrémité droite ni l'inférieure. Si l'option -from
n'est pas fournie, l'image source sera copiée entièrement par défaut.
- -to x1 y1 x2 y2
-
Spécifie une zone rectangulaire de l'image destination. (x1,y1) et (x2,y2) indiquent les coins diagonalement opposés
du rectangle. Si x2 et y2 ne sont pas spécifiés,
la valeur par défaut est (x1,y1) plus la taille de la zone source (après subsampling et zooming, si spécifié). Si x2 et
y2 sont spécifiés, la zone source sera repliquée si
nécessaire pour remplir la zone destination avec un aspect tuilé.
- -shrink
-
Spécifie que la taille de l'image destination doit être réduite, si
nécessaire, ainsi la partie copiée le sera dans le coin inférieur droit
de l'image. Cette option n'affectera pas la largeur ou hauteur
de l'image si l'utilisateur a indiqué une valeur non-nulle pour les options de configuration -width ou -height, respectivement.
- -zoom x y
-
Spécifie que la zone source doit être magnifiée d'un facteur de
x dans la direction X et y dans la direction Y. Si y
n'est pas donné, la valeur par défaut est la même que x. Avec cette
option, chaque pixel de l'image source sera étendu dans un bloc
de x x y pixels de l'image destination, tous de même
couleur. x et y doit être supérieur à 0.
- -subsample x y
-
Spécifie que l'image source doit être réduite en utilisant
seulement chaque xième pixel dans la direction X et yième pixel dans la
direction Y. Les valeurs négatives provoqueront le retournement de l'image autour des axes Y ou X, respectivement. Si y n'est pas donné, la
valeur par défaut est la même que x.
- imageName data ?option valeur(s) ...?
-
Retourne les données de l'image sous la forme d'une chaîne. Les options suivantes
peuvent être spécifiées:
- -background color
-
Si une couleur est spécifiée, les données ne contiendront aucune
information de transparence. Dans tous les pixels transparents, la couleur sera remplacée par
la couleur indiquée.
- -format format-nom
-
Spécifie le nom du gestionnaire de format de fichier image à utiliser.
Spécifiquement, cette sous-commande recherche
le premier gestionnaire dont le nom correspond à la chaîne
format-nom et qui a la capacité de lire les données de cette image.
Si cette option n'est pas indiquée, cette sous-commande utilise le premier
gestionnaire qui a la capacité de lire les données de cette image.
- -from x1 y1 x2 y2
-
Spécifie une zone rectangulaire de l'image imageName qui sera retournée.
Si seulement x1 et y1 sont spécifiés, la zone est étendue
de (x1,y1) jusqu'au coin inférieur droit de
imageName. Si les quatre coordonnées sont indiquées, elles spécifient
les coins diagonalement opposés de la zone, incluant x1,y1
et excluant x2,y2. Le comportement par défaut, si cette option n'est pas donné, est
l'image entière.
- -grayscale
-
Si cette option est spécifiée, les données ne contiendront pas d'information de couleur
. Toutes les données des pixels seront transformées en nuances de gris.
- imageName get x y
-
Retourne la couleur du pixel aux coordonnées (x,y) dans l'image comme une liste de trois entiers entre 0 et 255, qui representent respectivement les composantes
rouges, verte et bleues.
- imageName put données ?option valeur(s) ...?
-
Fixe les pixels de imageName aux données spécifiées dans
données. cette commande cherche d'abord dans la liste des gestionnaires de format d'image
un gestionnaire qui saura interpréter les données
dans données, et ensuite lit l'image de filename dans
imageName (l'image destination). Les options suivantes
peuvent être spécifiées:
- -format format-nom
-
Spécifie le format des données de l'image dansdonnées.
Spécifiquement, seuls les gestionnaires de format de fichier image dont les noms commencent avec
format-nom seront utilisés pendant la recherche.
- -from x1 y1 x2 y2
-
Spécifie une zone rectangulaire des données du fichier image à
retourner. Si seulement x1 et y1 sont spécifiés, la zone
est étendue de (x1,y1) jusqu'au coin inférieur droit de l'image
dans le fichier image. Si les quatre coordonnées sont spécifiées, elles
indiquent les coins diagonalement opposés de la zone. Le défaut,
si cette option n'est pas spécifiée, est l'image entière.
- -shrink
-
Si cette option est indiquée, la taille de imageName sera réduite, si
nécessaire, ainsi la zone dans laquelle les données du fichier image sont lues
est le coin inférieur droit
de imageName. Cette option n'affectera pas la largeur ou hauteur
de l'image si l'utilisateur a indiqué une valeur non-nulle pour les options de configuration -width ou -height, respectivement.
- -to x y
-
Spécifie les coordonnées du coin supérieur gauche de la zone de
imageName dans laquelle les données de filename sont lues.
La valeur par défaut est (0,0).
- imageName read filename ?option valeur(s) ...?
-
Lit les données de l'image à partir du fichier nommé filename dans l'image.
cette commande cherche d'abord dans la liste des
gestionnaires de format de fichier image un gestionnaire qui sait interpréter les données
de filename, et alors lit l'image de filename dans
imageName (l'image destination). Les options suivantes peuvent être
indiquées:
- -format format-nom
-
Spécifie le format des données de l'image dansdonnées.
Spécifiquement, seuls les gestionnaires de format de fichier image dont les noms commencent avec
format-nom seront utilisés pendant la recherche.
- -from x1 y1 x2 y2
-
Spécifie une zone rectangulaire des données du fichier image à
retourner. Si seulement x1 et y1 sont spécifiés, la zone
est étendue de (x1,y1) jusqu'au coin inférieur droit de l'image
dans le fichier image. Si les quatre coordonnées sont spécifiées, elles
indiquent les coins diagonalement opposés de la zone. Le défaut,
si cette option n'est pas spécifiée, est l'image entière.
- -shrink
-
Si cette option, la taille of imageName sera réduite, si
nécessaire, ainsi la zone dans laquelle les données du fichier image sont lues
est au coin inférieur droit de imageName. Cette option n'affectera pas la largeur ou hauteur
de l'image si l'utilisateur a indiqué une valeur non-nulle pour les options de configuration -width ou -height, respectivement.
- -to x y
-
Spécifie les coordonnées du coin supérieur gauche de la partie de
imageName dans laquelle les données de filename sont lues.
La valeur par défaut est (0,0).
- imageName redither
-
L'algorithme de diffusion utilisé pour l'affichage d'images photo propage
des erreurs de quantification d'un pixel à ses voisins.
Si les données de l'image pour imageName sont fournies en plusieurs parties, l'image diffusée peut ne pas être exactement correcte. Normalement la différence n'est pas notable, mais s'il y a un problème, cette commande peut être utilisée pour
recalculer l'image diffusée dans chaque fenêtre où elle est affichée.
- imageName write filename ?option valeur(s) ...?
-
Ecrit les données de l'image de imageName vers un fichier nommé filename.
Les options suivantes peuvent être spécifiées:
- -background color
-
Si une couleur est spécifiée, les données ne contiendront aucune
information de transparence. Dans tous les pixels transparents, la couleur sera remplacée par la couleur indiquée.
- -format format-nom
-
Spécifie le nom du gestionnaire de format de fichier image à utiliser.
Spécifiquement, cette sous-commande recherche
le premier gestionnaire dont le nom correspond à la chaîne
format-nom et qui a la capacité d'ecrire les données de cette image.
Si cette option n'est pas indiquée, cette sous-commande utilise le premier
gestionnaire qui a la capacité d'ecrire les données de cette image.
- -from x1 y1 x2 y2
-
Spécifie une zone rectangulaire de imageName à écrire dans le
fichier image. Si seulement x1 et y1 sont spécifiés, la zone est étendue
de (x1,y1) jusqu'au coin inférieur droit de
imageName. Si les quatre coordonnées sont indiquées, elles specifient
les coins diagonalement opposés corners de la zone rectangulaire. Le défaut,
si cette option n'est pas donnée, est l'image entière.
- -grayscale
-
Si cette options est spécifiée, the les données ne contiendront pas d'information de couleur. Toutes les données des pixels seront transformées en niveaux de gris.
Le code de l'image photo est structuré pour permettre un ajout facile de gestionnaires
formats de fichier image supplémentaires. Le code de l'image photo maintient
une liste de ces gestionnaires. Les gestionnaires sont ajoutés à la liste en les
enregistrant avec un appel à Tk_CreatePhotoImageFormat. Les
distributions Tk standard sont livrées avec des gestionnaires pour les formats PPM/PGM et GIF, qui sont automatiquement enregistrés à l'initialisation.
Quand il lit un fichier image ou qu'il traite une
chaîne de données spécifiée avec l' option de configuration-data , le
code de l'image photo appelle chaque gestionnaire jusqu'à ce qu'un soit trouvé
qui est capable de lire les données dans le fichier ou la chaîne.
Usuellement ceci localise le gestionnaire correct, mais si non, l'utilisateur
peut fournir un nom de format avec l'option -format pour spécifier
quel gestionnaire utiliser. En fait le code de l'image photo essayera les gestionnaires
dont le noms commence par la chaîne spécifiée par l'option
-format (la comparaison est insensible à la casse). Par
exemple, si l'utilisateur indique -format gif, alors un gestionnaire
nommé GIF87 ou GIF89 peut être appelé, mais un gestionnaire
nommé JPEG non (en supposant qu'un tel gestionnaire ait été
enregistré).
A l'ecriture des données image vers un fichier, le traitement de l'option
-format est légèrement différent: la valeur chaîne transmise à l'option -format doit commencer avec le nom complet du gestionnaire
demandé, et peut contenir des information supplémentaires ensuite, que le gestionnaire peut utiliser, par exemple, pour spécifier quelle variante
utiliser du format supporté.
Quand une image photo est affichée dans une fenêtre, le code de l'image photo
alloue les couleurs à utiliser pour afficher l'image et diffuse l'image, si
nécessaire, pour afficher une approximation convenable de l'image en utilisant
les couleurs disponibles. Les couleurs sont allouées comme un cube de couleur
, c'est à dire que le nombre de couleurs allouées est le produit du
nombre de nuances de rouge, vert et bleu.
Normalement, le nombre de couleurs allouées est choisi enpartant de la profondeur de la fenêtre. Par exemple, dans une fenêtre 8-bit PseudoColor, le code image photo tentera
d'allouer sept nuances de rouge, sept nuances de vert et
quatre nuances de bleu, sur un total de 198 couleurs. Dans une fenêtre 1-bit StaticGray
(monochrome), il allouera deux couleurs, noir et blanc. Dans une fenêtre
24-bit DirectColor ou TrueColor, il allouera 256 nuances
de rouge, vert et bleu. Heureusement, à cause de la façon dont
les valeurs des pixels peuvent être combinées dans les fenêtres DirectColor et TrueColor,
ceci demande l'allocation de seulement 256 couleurs. Si toutes les
couleurs ne peuvent être allouées, le code image photo reduit le nombre de
nuances de chaque couleur primaire et réessaye.
L'utilisateur peut exercer un contrôle sur le nombre de couleurs qu'une
image photo utilise avec l'option de configuration -palette. Si
cette option est utilisée, elle indique le nombre maximum de nuances de
chaque couleur primaire à tenter d'allouer. Elle peut être aussi utilisée pour forcer
l'image à être affichée en nuances de gris, même sur un écran couleur,
en donnant un seul chiffre plutot que trois nombres séparés par des
barres obliques.
Le type image photo a été concu et implémenté par Paul Mackerras,
en se basant sur un widget photo précédent et quelques suggestions de
John Ousterhout.
photo, image, color
Copyright © 1994 The Australian National University
Copyright © 1994-1997 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
Copyright © 2003 - Le Portail Tcl/Tk Francophone.