Un code un peu plus complet avec redimensionnement et choix d'une couleur de fond.
Code : Tout sélectionner
;Mettre cette procedure dans un fichier include si besoin :)
Procedure ImageGadget_x(Gadget.i, Left.i, Top.i, Width.i, Height.i, FileImage.s, Bgcolor.i)
Protected IDGadget.l, Image.s, RGBColor.s
;Couleur RGB sous forme d'un string
RGBColor="rgb("+Str(Red(Bgcolor))+","+Str(Green(Bgcolor))+","+Str(Blue(Bgcolor))+")"
;Mise en forme de l'image en utilisant un peu de code html
;1-Pas de scrollbar, marge à 0 et couleur de fond
Image="about:<html><body scroll='no' leftmargin='0' topmargin='0' bgcolor="+Chr(34)+RGBcolor+Chr(34)+">"
;2-redimensionnement de l'image
Image+"<img src='"+FileImage+"' Width="+Str(width)+" Height="+Str(Height)+"></img>"
;3-Fin du code HTML
Image+"</body></html>"
;AFfichage de l'image dans un webgadget
Idgadget=WebGadget(Gadget, Left ,Top, Width, Height, Image)
;Blocage du menu contextuel
If Gadget=#PB_Any
SetGadgetAttribute(IDGadget, #PB_Web_BlockPopupMenu, #True)
Else
SetGadgetAttribute(Gadget, #PB_Web_BlockPopupMenu, #True)
EndIf
ProcedureReturn Idgadget
EndProcedure
;Dans mon exemple l'image se trouve dans le dossier courrant de l'application
Image.s=GetCurrentDirectory()+"test.gif"
If OpenWindow(0,200,200,450,450,"Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered |#PB_Window_TitleBar)
ImageGadget_x(#PB_Any, 10, 20, 200, 200, Image, RGB(240,240,240))
Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow
EndIf