Salut les pythons multimédia/jeux,
Je sais pas si il est possible avec pygame de faire apparaître le fond d'écran en transparent car associer avec le drapeau NOFRAME dans la configuration de l'écran cela pourrait permettre d'afficher par exemple un cercle sur l'écran sans que celui-ci ne se retrouve dans une fenêtre: laissant apparaître le cercle et autour le fond d'écran du bureau.
J'ai fait des essaies avec la méthode set_colorkey() du module Surface:
Mais ce na fonctionne pas car la méthode set_colorkey() s'applique a une surface qui est censé être blitter sur une autre offrant la possibilité de rendre des pixels d'une couleur définis transparente sur la surface source transparente sur la surface de destination mais je ne sais si cela s'applique a la surface de display...?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 # -*- coding: utf-8 -*- import pygame from pygame.locals import * from sys import exit pygame.init() screen=pygame.display.set_mode((800,600),SRCALPHA,32 ) #|NOFRAME screen.set_alpha(0) while True : screen.fill((255,0,0)) screen.set_colorkey((255,0,0)) pygame.draw.circle(screen,(255,255,255),(800/2,600/2),200,0) for event in pygame.event.get() : if event.type == QUIT : exit() pygame.display.update()
Savez vous si ce tour de passe-passe est possible ?Surface.set_colorkey
Set the transparent colorkey
Surface.set_colorkey(Color, flags=0): return None
Surface.set_colorkey(None): return None
Set the current color key for the Surface. When blitting this Surface onto a destination, and pixels that have the same color as the colorkey will be transparent. The color can be an RGB color or a mapped color integer. If None is passed, the colorkey will be unset.
Merci pour vos réponses éclairées.
PS: Je sais que les surfaces peuvent être configurer de 3 manières pour l'affichage des couleurs en transparence:
-colorkeys,
-surface alphas,
-pixel alphas
les deux premier peuvent être mélanger mais je ne sais comment configurer la surface pour être dans un des modes.
Partager