Perte transparence icônes

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Perte transparence icônes

Message par ChrisR »

Bonjour,

Dans une fenêtre avec SetWindowColor et avec des icônes transparentes, si je minimise la fenêtre et que je la restaure ensuite, je perds la transparence de ces icônes.

Je reproduis avec un code très basique:

Code : Tout sélectionner

Enumeration FormWindow
  #Window_Main
EndEnumeration

Enumeration FormGadget
  #Text
  #Button_Opendir
  #Button_About
EndEnumeration

Enumeration FormImage
  #Img_Opendir
  #Img_about
EndEnumeration

CatchImage(#Img_Opendir,?Img_Opendir)
CatchImage(#Img_about,?Img_about)

Procedure OpenWindow_Main(x = 0, y = 0, width = 360, height = 80)
  OpenWindow(#Window_Main, x, y, width, height, "Transparent icon", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
  SetWindowColor(#Window_Main, RGB(0,0,64))
  TextGadget(#Text, 5, 20, 360, 20, "Minimize and restore the window, the icon loses its transparency!")
  SetGadgetColor(#Text, #PB_Gadget_FrontColor,#White)
  SetGadgetColor(#Text, #PB_Gadget_BackColor,RGB(0,0,64))
  ImageGadget(#Button_Opendir, 180, 50, 0, 0, ImageID(#Img_Opendir))
  ImageGadget(#Button_About, 339, 50, 0, 0, ImageID(#Img_about))
EndProcedure

Procedure Window_Main_Events(event)
  Select event
    Case #PB_Event_CloseWindow
      ProcedureReturn #False
  EndSelect
    ;If GetWindowState(#Window_Main) =  #PB_Window_Minimize
    ;EndIf
  ProcedureReturn #True
EndProcedure

DataSection
  Img_Opendir: : IncludeBinary "Opendir.ico"
  Img_about: : IncludeBinary "about.ico"
EndDataSection
Edit: exemple mise à jour (21.7 Ko)
https://www.dropbox.com/s/qfahbd0j0ir6n ... ir.7z?dl=0

Avez-vous une solution ?
PureBasic 5.44 LTS sur win10 x64
Dernière modification par ChrisR le sam. 21/janv./2017 13:37, modifié 2 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Perte transparence icônes

Message par Ar-S »

J'ai modifié ton lien pour un téléchargement directe.

Sinon tu ne gères pas tes event(s) dans ton code.
Essaye comme ça j'ai pas eu de soucis après réduction/agrandissement.

Code : Tout sélectionner

Enumeration FormWindow
  #Window_Main
EndEnumeration

Enumeration FormGadget
  #Text
  #Button_Opendir
  #Button_About
EndEnumeration

Enumeration FormImage
  #Img_Opendir
  #Img_about
EndEnumeration

CatchImage(#Img_Opendir,?Img_Opendir)
CatchImage(#Img_about,?Img_about)

Procedure OpenWindow_Main(x = 0, y = 0, width = 360, height = 80)
  OpenWindow(#Window_Main, x, y, width, height, "Transparent icon", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
  SetWindowColor(#Window_Main, RGB(0,0,64))
  TextGadget(#Text, 5, 20, 360, 20, "Minimize and restore the window, the icon loses its transparency!")
  SetGadgetColor(#Text, #PB_Gadget_FrontColor,#White)
  SetGadgetColor(#Text, #PB_Gadget_BackColor,RGB(0,0,64))
  ImageGadget(#Button_Opendir, 180, 50, 0, 0, ImageID(#Img_Opendir))
  ImageGadget(#Button_About, 339, 50, 0, 0, ImageID(#Img_about))
EndProcedure

Procedure Window_Main_Events(event)
  Repeat
 Event = WaitWindowEvent()
  Select event
    Case #PB_Event_CloseWindow
      End
  EndSelect
  Until event = #PB_Event_CloseWindow
    ;If GetWindowState(#Window_Main) =  #PB_Window_Minimize
    ;EndIf
  ProcedureReturn #True
EndProcedure

OpenWindow_Main()
Window_Main_Events(event)

DataSection
  Img_Opendir: : IncludeBinary "Opendir.ico"
  Img_about: : IncludeBinary "about.ico"
EndDataSection

~~~~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
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Perte transparence icônes

Message par Mesa »

Ça ressemble à un bug. Peut-être un vieux bug en fait.

J'ai essayé avec des png transparents, et ça donne le même problème.

Je pense que tu peux le signaler sur le forum anglais, rubrique "bug".

M.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Perte transparence icônes

Message par Ar-S »

Mais tu as essayé mon code Mesa, je ne vois pas de soucis de transparence.
~~~~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
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: Perte transparence icônes

Message par ChrisR »

J'ai essayé avec ton code Ar-S, je reproduis la même chose.
J'avais enlevé les event(s) pour avoir un code "très" basique, mais avec ou sans, c'est pareil ici.
Par contre, je ne sais pas pourquoi tu ne reproduis pas (PB5.44 LTS ici?) !
Mesa semble reproduire comme moi. A suivre donc, pour essayer de comprendre... :wink:

Suite au message de Mesa, j'ai posté dans le forum anglais ici avec une capture écran et avec une image png en plus de l'icône, pour l'exemple.
J'ai mis à jour le code de l'exemple avec ton code https://www.dropbox.com/s/qfahbd0j0ir6n ... ir.7z?dl=0
Merci :D

Image
Dernière modification par ChrisR le sam. 21/janv./2017 13:37, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Perte transparence icônes

Message par Ar-S »

Ooups Effectivement en 5.44 ça ne marche pas :[
J'avais testé en 5.51 et là pas de problème.
~~~~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
Avatar de l’utilisateur
ChrisR
Messages : 235
Inscription : sam. 14/févr./2015 16:20

Re: Perte transparence icônes

Message par ChrisR »

Merci Ar-s :D
Il semble être donc uniquement avec 5.44 LTS.
IdeasVacuum sur le forum anglais ne reproduis pas non plus avec 5.43 LTS.
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: Perte transparence icônes

Message par Mesa »

J'utilise bien la version 5.51 x86 sur xp32 où les thèmes graphiques sont désactivés.

J'ai bien le problème mais il se résoud avec l'astuce de "chi" ici http://www.purebasic.fr/english/viewtop ... 97#p500797

M.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Perte transparence icônes

Message par Ar-S »

Et en activant les themes en xp pb 5.51 ça marche pas non plus ?
Faudra pas oublier de bidouiller avec du compilerif si tu veux faire du multiplateforme du fait des API dans le code de chi
~~~~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
Répondre