Page 1 sur 1
[Résolu] Comment afficher une image sur une autre image
Publié : lun. 28/mars/2016 17:52
par Micoute
Bonsoir à tous,
pour un logiciel éducatif que je fais pour mes petits-enfants, j'aimerais savoir on peut afficher une image sur une autre image, c'est à dire que je voudrais mettre une image en fond et afficher des images dessus.
J'espère m'être bien expliqué et je vous remercie tous pour l'aide que vous allez m'apporter.
Re: Comment afficher une image sur une autre image
Publié : lun. 28/mars/2016 18:33
par falsam
StartDrawing(ImageOutput(Tonbackground))
Tu dessines ta deuxième image
StopDrawing()
Re: Comment afficher une image sur une autre image
Publié : lun. 28/mars/2016 18:47
par falsam
Un petit code au risque de me faire houspiller
Code : Tout sélectionner
Enumeration Window
#MainForm
EndEnumeration
Enumeration
#Image
EndEnumeration
InitNetwork()
UseJPEGImageDecoder()
UsePNGImageDecoder()
If ReceiveHTTPFile("http://falsam.com/download/images/sprites/blur1.jpg", "blur1.jpg")
Image1 = LoadImage(#PB_Any, "blur1.jpg")
EndIf
If ReceiveHTTPFile("http://falsam.com/download/images/sprites/i2.png", "i2.png")
Image2 = LoadImage(#PB_Any, "i2.png")
EndIf
If OpenWindow(#MainForm, 0, 0, 800, 600, "New Project", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
;Dessin de la deuxiéme image sur la premiere
StartDrawing(ImageOutput(Image1))
DrawingMode(#PB_2DDrawing_AlphaBlend) ;Uniquement si image avec transparence
DrawImage(ImageID(Image2), 100, 100)
StopDrawing()
ImageGadget(#Image, 10, 10, ImageWidth(Image1), ImageHeight(Image1), ImageID(Image1))
Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
Re: Comment afficher une image sur une autre image
Publié : lun. 28/mars/2016 18:48
par Ar-S
Dessin de l'image bleu puis dessus, dessin de l'image blanche.
Code : Tout sélectionner
Enumeration
#LDVM
#CANVAS
#IM1
#IM2
EndEnumeration
; /////////////////////////////////////////
;- PROGRAMME
; //////////////////////////////////////////
Fond = CreateImage(#IM1,640,480,24,$FFCC00)
Image1 = CreateImage(#IM2,120,120,24,$FFFFFF)
If OpenWindow(#LDVM, 0, 0, 640, 480, "test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(#CANVAS,0 , 0, 640,480,#PB_Canvas_ClipMouse)
StartDrawing(CanvasOutput(#CANVAS))
;Dessin du fond
DrawImage(Fond,0,0)
; Dessin de l'image
DrawImage(Image1,50,40)
StopDrawing()
Repeat
Event = WaitWindowEvent()
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case #CANVAS
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
End
Re: Comment afficher une image sur une autre image
Publié : lun. 28/mars/2016 19:51
par Micoute
Merci à vous 2 qui m'avez déconcerté tellement c'était finalement très simple, car j'avais oublié StartDrawing() et j'avais 2 ImageGadget() qui n'étaient pas dans le bon ordre.
@falsam, ce n'est sûrement pas moi qui va te houspiller, bien au contraire.
@Ar-s, bien que ton exemple soit présenté différemment, il est aussi bien que celui de falsam.
Je vous remercie énormément tous les deux.
Re: [Résolu] Comment afficher une image sur une autre image
Publié : mar. 29/mars/2016 7:27
par Micoute
Bonjour Spock, oui, c'est vrai, mais ça m'a été utile tout de même et tout ce qu'on m'offre a une grande valeur pour moi.
Re: [Résolu] Comment afficher une image sur une autre image
Publié : mar. 29/mars/2016 11:53
par Ar-S
C'est pas faux mais je suis parti dans l'optique que si c'est pour un petit jeu pour un gosse, il y aura une, deux, trois images et que concrètement, une image sera affichée sur un ecran (canvas ou screen) et le but sera de poser une autre image dessus... Mais peut-être me trompe-je

Dans mon exemple, le vrai fond c'est le canvas.
Re: [Résolu] Comment afficher une image sur une autre image
Publié : mar. 29/mars/2016 15:17
par Micoute
Tu as deviné, c'est tout à fait ça, il y a une image où il faut mettre son nom, sa couleur, ou sa forme, mais ça peut servir à toutes autres choses.