41 votes

Liste des "modes" d'image

En regardant les LIP (et en relation avec cette question ), où puis-je obtenir une liste complète des modes d'image ? Je vois "RGB", "RGBX", mon code contient "BGRX" d'une manière ou d'une autre, même si cela n'est pas mentionné dans la documentation du PIL que je peux voir. Comment puis-je savoir ce qui est quoi, ce que l'IAP prend en charge et quels sont les modes appropriés à sélectionner lorsque j'interagis avec les appels de l'API Windows, par exemple ?

En fait, je ne connais que très peu les modes d'image et j'aimerais en savoir plus que les lettres à mettre pour que ça marche comme par magie.

29voto

Mark Ransom Points 132545

Il y a deux concepts distincts dans Pillow, avec des noms confusément similaires :

"Modes"

Ils sont répertoriés à l'adresse suivante https://pillow.readthedocs.io/en/latest/handbook/concepts.html#modes .

Selon ces documents :

Le mode d'une image définit le type et la profondeur d'un pixel dans l'image.

C'est ce genre de "mode" qui est exposé par le biais d'une Image 's .mode peut être modifié par l'intermédiaire de l'attribut .convert() et peut être transmise aux méthodes qui prennent une méthode mode paramètre. Ils ne sont pas les mêmes que les "modes bruts".

"Modes bruts"

Ceux-ci sont utilisés en interne par le décodeur brut qui convertit les données non compressées d'un fichier d'image dans un format qu'un LIP Image objet peut comprendre. Il y a plusieurs fois plus de "modes bruts" que de "modes", et ils transmettent des informations non seulement sur le type (couleur ou niveaux de gris) et la profondeur de bits des pixels d'une image, mais aussi sur leur disposition dans le fichier. Par exemple, le mode brut RGB;L est documenté comme signifiant "Couleur réelle 24 bits, ligne entrelacée (d'abord tous les pixels rouges, puis tous les pixels verts, enfin tous les pixels bleus)."

Comme indiqué dans les documents liés ci-dessus (et également dans l'ancienne version de l Documentation LIP ), une liste des modes bruts peut être trouvée dans Unpack.c . Vous trouverez la liste à la fin du fichier.

Unpack.c à partir de la branche principale actuelle de Pillow : https://github.com/python-pillow/Pillow/blob/master/src/libImaging/Unpack.c

Unpack.c de la version finale du LIP : http://svn.effbot.org/public/tags/pil-1.1.7/libImaging/Unpack.c

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X