« Pygame/Introduction au module Surfarray » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 259 :
==ending==
J'espère qu'à ce stade, vous avez des idées d'utilisation pour le module surfarray, dans la réalisation d'effets spéciaux et de transformations d'image, seulement réalisables au niveau du pixel. Au minimum, vous pouvez utiliser surfarray pour faire quelques opérations rapides avec'''Surface.set_at()''' et '''Surface.get_at()'''. Mais ne pensez pas que vous en avez terminé, il vous reste encore beaucoup à apprendre.
 
=Verrouillage de surface=
 
Also be aware that you really don't want to be doing much (if any) direct pixel access on hardware surfaces (HWSURFACE). This is because the actual surface data lives on the graphics card, and transferring pixel changes over the PCI/AGP bus is not fast.
Comme le reste de pygame, surfarray va verrouiller tout objet de type surface lors de l'accès aux données de pixels. C'est une chose dont il faut être conscient dans tout ce que vous faisez. En créant un tableau de données de pixels, la surface originale sera verrouillée pendant le temps d'existence du tableau de donnée. Il est important de s'en rappeler? Soyez certain d'avoir ''supprimé'' le tableau de pixels ou de le laisser en dehors du champ du programme ? espace de nommage ? (c'est à dire lors des retours de fonction).to "del" the pixel array or let it go out of scope
 
=Transparence=
 
Le module surfarray a plusieurs méthodes pour accéder aux valeur du canal alpha d'une surface. Aucune des fonctions qui gèrent le canal alpha n'ont d'effet sur le reste des données de la surface, seulement aux valeurs des pixels pour le canal alpha. Voici la liste de ces fonctions :
 
'''surfarray.pixels_alpha(surface)'''
 
Crée un tableau 2D de valeurs entières qui contient les valeurs du canal alpha des pixels d'une surface. Ceci fonctionne uniquement avec les images codées sur 32 bits par pixel, avec un canal alpha sur huit bits.
 
'''surfarray.array_alpha(surface)'''
 
Crée un tableau 2D de valeurs entières qui contient les valeurs du canal alpha des pixels d'une surface. Ceci fonctionne avec tous les types de surface, si l'image d'origine ne contient aucun canal alpha, les valeurs du tableau sont initialisées à ''255'', qui est la valeur maximale d'opacité.
 
'''surfarray.array_colorkey(surface)'''
 
Creates a 2D array (integer pixel values) that is set to transparent (0) wherever that pixel color matches the Surface colorkey.
Crée un tableau 2D de valeurs entières qui met la transparence à 0 (valeur maximale de transparence) pour chaque pixel de la surface dont la couleur correspond à la couleur de la surface ? '''traduction incertaine'''
 
 
 
 
 
 
 
'''surfarray.array_colorkey(surface)'''