PureBasic Visual Designer => mettre une image de fond ?

Sujets variés concernant le développement en PureBasic
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

PureBasic Visual Designer => mettre une image de fond ?

Message par wolfjeremy »

Salut, je voulais savoir si il était posssible dans PureBasic Visual Designer de mettre une image de fond a son programme ?

Merci d'avance pour votre réponse.
CameleonTH
Messages : 333
Inscription : sam. 25/juin/2005 11:18
Localisation : Laon (02)
Contact :

Message par CameleonTH »

Essai de faire sa

Code : Tout sélectionner

CreateImage(0,640,480)
StartDrawing(ImageOutput())
  Box(0,0,640,480,RGB(0,255,0))
  Line(0,0,640,480,RGB(255,0,0))
  Line(0,480,640,-480,RGB(0,0,255))
StopDrawing()

hwnd=OpenWindow(0,100,100,640,480,#PB_Window_SystemMenu,"Test")
SetWinBackgroundImage(WindowID(0),ImageID())


Repeat
Until WindowEvent()=#PB_Event_CloseWindow
Mais par contre il faut la librairie PBOSL SkinWin.

SInon il y a une autre méthode mais je me rapelle plus.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

...
Dernière modification par Backup le mar. 19/août/2014 15:35, modifié 2 fois.
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message par erix14 »

Sans la librairie PBOSL SkinWin. :D
hImageFond = CreateImage (0,640,480)
StartDrawing ( ImageOutput ())
Box (0,0,640,480, RGB (0,255,0))
Line (0,0,640,480, RGB (255,0,0))
Line (0,480,640,-480, RGB (0,0,255))
StopDrawing ()
hBKBrush= CreatePatternBrush_ (hImageFond)

hwnd= OpenWindow (0,100,100,640,480, #PB_Window_SystemMenu|#PB_Window_Invisible , "Test" )
SetClassLong_ (hwnd, #GCL_HBRBACKGROUND ,hBKBrush)
HideWindow (0,0)

Repeat
Until WindowEvent ()= #PB_Event_CloseWindow
DeleteObject_ (hBKBrush)
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Message par gnozal »

Autre possibilité, avec un ImageGadget (pas de problèmes de rafraîchissement) :

Code : Tout sélectionner

If CreateImage (0,640,480) 
  If StartDrawing ( ImageOutput ()) 
    Box (0,0,640,480, RGB (0,255,0)) 
    Line (0,0,640,480, RGB (255,0,0))
    Line (0,480,640,-480, RGB (0,0,255)) 
    StopDrawing () 
  EndIf
EndIf

If OpenWindow (0,100,100,640,480, #PB_Window_SystemMenu|#PB_Window_Invisible , "Test" ) 
  If CreateGadgetList(WindowID())
    ButtonGadget(1, 50, 50, 50, 20, "Test") 
    ImageGadget(0, 0, 0, 640,480, UseImage(0))
    SetWindowLong_(GadgetID(0), #GWL_STYLE, GetWindowLong_(GadgetID(0), #GWL_STYLE) | #WS_CLIPSIBLINGS)
  EndIf
  
  HideWindow (0,0) 
  
  Repeat
    WindowEvent = WindowEvent()
    If WindowEvent = #PB_Event_Gadget
      If EventGadgetID() = 1
        MessageRequester("Test", "Button!")
      EndIf
    EndIf
  Until WindowEvent = #PB_Event_CloseWindow 
EndIf
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Heu les gars, c'est peut etre moi qui suit un gros noob lol mais la vous faite juste une couleur de fond avec deux ligne ? lol un box et deux line quoi.. moi je veu mettre une image png... :?
Polo
Messages : 612
Inscription : sam. 03/juil./2004 20:14

Message par Polo »

ben tu lis la doc, tu tombes sur DrawImage, tu te dis "Je suis con ! Je devrais lire plus souvent la doc !", et tu continues ton projet ;)
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

A oui merci :P

Le pire c'est que je suis passer juste a coté plusieurs fois :oops:
comtois
Messages : 5191
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

DrawImage ?

tu peux simplement remplacer ça

Code : Tout sélectionner

If CreateImage (0,640,480)
  If StartDrawing ( ImageOutput ())
    Box (0,0,640,480, RGB (0,255,0))
    Line (0,0,640,480, RGB (255,0,0))
    Line (0,480,640,-480, RGB (0,0,255))
    StopDrawing ()
  EndIf
EndIf 
par

Code : Tout sélectionner

LoadImage(0,"Mon image à moi que j'aime bien ici.BMP")
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Ok merci comtois :o
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

je te ferai remarquer que mon exemple te demande de choisir une image sur ton disk dur pour l'afficher !! :?

et que tout ces format sont pris en compte

UseJPEGImageDecoder ()
UsePNGImageDecoder ()
UseTIFFImageDecoder ()
UseTGAImageDecoder ()
Polo
Messages : 612
Inscription : sam. 03/juil./2004 20:14

Message par Polo »

Dobro a écrit :je te ferai remarquer que mon exemple te demande de choisir une image sur ton disk dur pour l'afficher !! :?
C'est vrai ça en plus, ça m'étonnait tellement qu'il ne trouve pas la solution, je ne m'attendais pas à ce qu'elle soit déjà donnée :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

:lol: :roll: le borgne est roi au royaume des aveugles :lol:
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Dobro a écrit :je te ferai remarquer que mon exemple te demande de choisir une image sur ton disk dur pour l'afficher !! :?

et que tout ces format sont pris en compte

UseJPEGImageDecoder ()
UsePNGImageDecoder ()
UseTIFFImageDecoder ()
UseTGAImageDecoder ()
Ho zut :oops: excuse mais ton code je l'ai sauté sans le vouloir :oops:
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Par contre, j'ai fait une image bouton dans mon programme, sa donne sa :
Procedure ouvre_fenetre_connexion()

If OpenWindow(#fenetre_connexion, 0, 0, 775, 645, #PB_Window_SystemMenu | #PB_Window_WindowCentered, "CodesBooster")

;Liste des gadget de la fenetre
If CreateGadgetList(WindowID() )

StringGadget(#gadget_ecrire_login, 147, 291, 201, 27, "Nom d'utilisateur", #PB_String_BorderLess)

StringGadget(#gadget_ecrire_pass, 149, 347, 201, 27, "Password", #PB_String_BorderLess | #PB_String_Password)

CheckBoxGadget(#gadget_checkbox_info, 327, 413, 12, 12, "")

If LoadImage(#image_bouton_connexion, "images\b_connex.png")
ButtonImageGadget(#gadget_bouton_connexion, 208, 470, 86, 21, #image_bouton_connexion)
EndIf

EndIf

EndIf

EndProcedure

Mais il n'y a aucune image sur mon bouton :oops: pouvez vous m'expliquez où j'ai fait une erreur ? a oui aussi au debut de mon programme j'ai declarer les constante, donc mon programme est complet, mais j'ai juste afficher la partie du code qui ajoute le bouton :wink:
Répondre