Filtre de couleur
Filtre de couleur
Salut les gars, ca fessais un petit moment que je n'était pas venu par manque de temps. Je viens sollicité votre aide pour un logiciel que je développe. Je cherche à créer un masque de couleur rouge sur tous l'écran. Je suis en train de développer un logiciel pour l'astronomie et je cherche à faire comme un voile rouge sur tous l'écran pour avoir une sorte de vision nocturne pendant les observation astro pour ne pas être éblouie par l'éclairage de l'écran. Seulement j'ai beau chercher sur le forum anglais et Français je ne trouve rien. Quelqu'un aurait une idée ? Merci d'avance pour votre aide.
Dernière modification par MetalOS le dim. 12/sept./2021 9:42, modifié 2 fois.
Re: Filtre de couleur
Salut MetalOS,
Bon j'avoue que ce code est totalement écrit a l'arrache Iil y a beaucoup mieux que ça.
Mais je pense que tu cherche ce genre d'effet :
Ps: modifier la valeur en ligne 6 pour plus ou moins de transparence.
@++
Bon j'avoue que ce code est totalement écrit a l'arrache Iil y a beaucoup mieux que ça.
Mais je pense que tu cherche ce genre d'effet :
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 245, 100, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
LoadImage(1, GetCurrentDirectory()+"Examples\Sources\Data\PureBasic.bmp")
If CreateImage(2, 168, 35, 32, RGB(255, 0, 0)) And StartDrawing(ImageOutput(2))
DrawAlphaImage(ImageID(1), 0, 0, 100) ; <<-- valeur a changer de 0 a 255
EndIf
ImageGadget(2, 10, 10, 168, 35, ImageID(2))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: Filtre de couleur
Je vais essayer mais ca y ressemble. Merci venom je posterais une capture une fois fini.
Re: Filtre de couleur
Je suis allé un peut vite mais ca ne color qu'une image. Il n'est pas possible de colorer tous l'écran complet ?
Re: Filtre de couleur
A moins de colorer tous les gadget, mais sont t'ils tous colorable ?
Re: Filtre de couleur
Bonjour MetalOS
Moi je te propose ceci
Avec la souris tu peu faire bouger la fenêtre filtre. Ou dans ton code tu l'arrête.
Tu change la transparence de 0 a 255.
Bon courage
a+
Moi je te propose ceci
Code : Tout sélectionner
Enumeration
#Ma_fen
EndEnumeration
OpenWindow(#Ma_fen,0,0,1920,1080,"Ma Fenêtre",#PB_Window_BorderLess|#NUL)
SetWindowColor(#Ma_fen,$00FF)
SetWindowLongPtr_(WindowID(#Ma_fen),#GWL_EXSTYLE,#WS_EX_LAYERED)
SetLayeredWindowAttributes_(WindowID(#Ma_fen),0,173,#LWA_ALPHA);transparence
;Vos gadgets ici
;
;
Repeat
Event = WaitWindowEvent()
If Event = #WM_LBUTTONDOWN
SendMessage_(WindowID(#Ma_fen), #WM_NCLBUTTONDOWN, #HTCAPTION, 0);pour bouger la fenêtre
EndIf
If Event = #PB_Event_Gadget
Select EventGadget()
EndSelect
EndIf
ForEver
End
Tu change la transparence de 0 a 255.
Bon courage
a+
Re: Filtre de couleur
Salut.
Je n'ai pas piger si tu cherches à masque tout le programme ou N gadget en laissant un d'ouvert.
- Dans le 1er cas pourquoi n'utilises tu pas simplement hidewindow() ?
- Dans le second cas ou si tu veux que ta fenêtre s'assombrisse à un moment T, tu mets un fond noir (ou rouge ou autre) dans le fond de te fenêtre et tu mets tous tes gadgets dans un container.
Ainsi tu as juste à cacher ce container lors que tu souhaites avoir de l'obscurité et optionnellement tu maximises la fenêtre.
Je n'ai pas piger si tu cherches à masque tout le programme ou N gadget en laissant un d'ouvert.
- Dans le 1er cas pourquoi n'utilises tu pas simplement hidewindow() ?
- Dans le second cas ou si tu veux que ta fenêtre s'assombrisse à un moment T, tu mets un fond noir (ou rouge ou autre) dans le fond de te fenêtre et tu mets tous tes gadgets dans un container.
Ainsi tu as juste à cacher ce container lors que tu souhaites avoir de l'obscurité et optionnellement tu maximises la fenêtre.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Filtre de couleur
Je pense que MetalOS souhaite afficher un rectangle rouge devant toute sa fenêtre (comme si on posé un calque rouge sur l'écran) avec plus ou moins de transparence.
Comme c'est pour l'astronomie, je suppose que c'est pour faire un effet de "luminosité réduite".
@++
Comme c'est pour l'astronomie, je suppose que c'est pour faire un effet de "luminosité réduite".
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: Filtre de couleur
Oui Venom c'est exactement ça que je voudrais faire mais tout en continuant d'utiliser mon logiciel. A moins de réussir à coloré en rouge tout les gadgets. Mais ça va être compliqué car certains gadget ne ce color pas ou juste une partie.
Re: Filtre de couleur
Tu peux mettre un screenshot de ton interface. ?
Quels gadgets souhaites tu colorer ?
Quels gadgets souhaites tu colorer ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Filtre de couleur
Je ne comprend pas bien.
Avec le code que je te donne tu n'est pas obliger de filtrer tout l'écran. Tu peu choisir une partie de ta fenêtre, et laisser les boutons de commande de ton logiciel libre.
Dans la boucle général il faut utiliser une boucle pour deux fenêtres,ce qui te permettras l'orsque tu seras en dehors de la fenêtre filtre, d'utilisé les commandes de ton logiciel normalement.
Avec le code que je te donne tu n'est pas obliger de filtrer tout l'écran. Tu peu choisir une partie de ta fenêtre, et laisser les boutons de commande de ton logiciel libre.
Dans la boucle général il faut utiliser une boucle pour deux fenêtres,ce qui te permettras l'orsque tu seras en dehors de la fenêtre filtre, d'utilisé les commandes de ton logiciel normalement.
Re: Filtre de couleur
@MetalOS: Je pense comprendre ce que tu demandes. Ceci devrait faire ton bonheur
(L'application peut être fermée par clic droit via la barre des tâches de windows)
Code : Tout sélectionner
OpenWindow(0, 0, 0, 320, 200, "", #PB_Window_BorderLess|#PB_Window_Maximize) : SetWindowColor(0, #red)
SetWindowLongPtr_(WindowID(0), #GWL_EXSTYLE, GetWindowLongPtr_(WindowID(0), #GWL_EXSTYLE)|#WS_EX_LAYERED|#WS_EX_TRANSPARENT)
SetLayeredWindowAttributes_(WindowID(0), 0, 90, #LWA_ALPHA)
StickyWindow(0, 1)
While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
Re: Filtre de couleur
C'est un peu pour ça que je pense que créer une interface appropriée plutôt que de jouer avec un fenêtre semi transparente à gérer, qui n'empêchera certains gadgets d'être "claire" serait plus propre et plus efficace. Mais c'est sur, ça demande à repenser le soft.
Ve ce que l'on peut faire avec les Canvas, je m'orienterai dans cette direction.
Ve ce que l'on peut faire avec les Canvas, je m'orienterai dans cette direction.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Filtre de couleur
@vuvur
c'est a peu de choses prés le même code que le mien
c'est a peu de choses prés le même code que le mien