[Résolu] Comment afficher une image sur une autre image

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

[Résolu] Comment afficher une image sur une autre image

Message 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.
Dernière modification par Micoute le lun. 28/mars/2016 19:52, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Comment afficher une image sur une autre image

Message par falsam »

StartDrawing(ImageOutput(Tonbackground))
Tu dessines ta deuxième image
StopDrawing()
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Comment afficher une image sur une autre image

Message par falsam »

Un petit code au risque de me faire houspiller :mrgreen:

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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Comment afficher une image sur une autre image

Message 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


~~~~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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Comment afficher une image sur une autre image

Message 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.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: [Résolu] Comment afficher une image sur une autre image

Message 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.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [Résolu] Comment afficher une image sur une autre image

Message 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 8)
Dans mon exemple, le vrai fond c'est le canvas.
~~~~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
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: [Résolu] Comment afficher une image sur une autre image

Message 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.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Répondre