Coller 2 images

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Coller 2 images

Message par venom »

Bonjour,

voilà je tourne avec 2 écrans depuis un moment et a chaque fois je lutte avec paint pour mettre 2 images l'une derrière l'autre. :D

j'ai donc fait un petit programme simple qui permet a partir de 2 images de les placer l'une derrière l'autre, et en refaire qu'une seul.
voici la source si jamais cela peut servir :wink:

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_1
  #Text_1
  #String_1
  #Button_1
  #Text_2
  #String_2
  #Button_2
  #Frame3D_2
  #Text_3
  #Combo_3
  #Text_4
  #Combo_4
  #Frame3D_3
  #Button_3
EndEnumeration

ExamineDesktops()
UseJPEGImageDecoder()

  If OpenWindow(#Window_0, 0, 0, 570, 265, "Picture Dual Screen",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
      
      Frame3DGadget(#Frame3D_1, 10, 10, 550, 85, "")
      TextGadget(#Text_1, 20, 35, 20, 15, "1", #PB_Text_Center)
      StringGadget(#String_1, 45, 30, 360, 20, "", #PB_String_ReadOnly)
      ButtonGadget(#Button_1, 410, 30, 140, 20, "Ouvrir l'image de gauche")
      TextGadget(#Text_2, 20, 60, 20, 15, "2", #PB_Text_Center)
      StringGadget(#String_2, 45, 60, 360, 20, "", #PB_String_ReadOnly)
      ButtonGadget(#Button_2, 410, 60, 140, 20, "Ouvrir l'image de droite")
      
      Frame3DGadget(#Frame3D_2, 110, 105, 355, 80, "")
      TextGadget(#Text_3, 125, 125, 180, 15, "Résoluton de votre écran de gauche :")
      StringGadget(#Combo_3, 320, 120, 130, 20, Str(DesktopWidth(0))+" x "+Str(DesktopHeight(0)), #PB_String_ReadOnly)
      TextGadget(#Text_4, 125, 155, 180, 15, "Résoluton de votre écran de droite :")
      StringGadget(#Combo_4, 320, 150, 130, 20, Str(DesktopWidth(1))+" x "+Str(DesktopHeight(1)), #PB_String_ReadOnly)
      
      Frame3DGadget(#Frame3D_3, 185, 195, 205, 55, "")
      ButtonGadget(#Button_3, 195, 215, 185, 20, "Coller les deux images")

  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
        
       Case #Button_1
        image1$ = OpenFileRequester("Ouvrir une image", "", "Images compatibles|*.jpg;*.bmp" , 0)
         SetGadgetText(#String_1, image1$)
          LoadImage(1, image1$ )
           ResizeImage(1, DesktopWidth(0), DesktopHeight(0), 0)
            SaveImage(1 , GetHomeDirectory()+"1.bmp", #PB_ImagePlugin_BMP, 0)
       
       Case #Button_2
        image2$ = OpenFileRequester("Ouvrir une image", "", "Images compatibles|*.jpg;*.bmp" , 0)
         SetGadgetText(#String_2, image2$)
          LoadImage(2, image2$ )
           ResizeImage(2, DesktopWidth(1), DesktopHeight(1), 0)
            SaveImage(2 , GetHomeDirectory()+"2.bmp", #PB_ImagePlugin_BMP, 0)
         
       Case #Button_3
        LoadImage(1, GetHomeDirectory()+"1.bmp")
        LoadImage(2, GetHomeDirectory()+"2.bmp")
        
         If CreateImage(3, DesktopWidth(0)+DesktopWidth(1), DesktopHeight(0))
          If StartDrawing(ImageOutput(3))
           DrawImage(ImageID(1), 0, 0, DesktopWidth(0), DesktopHeight(0)) 
           DrawImage(ImageID(2), DesktopWidth(1), 0, DesktopWidth(1), DesktopHeight(0))
            
           StopDrawing()
          EndIf
         EndIf 
        image_1_et_2$ =  SaveFileRequester("Enregistrer sous", "", "Image bitmap|*.bmp" , 0)
        SaveImage(3, image_1_et_2$+".bmp", #PB_ImagePlugin_BMP)
         DeleteFile(GetHomeDirectory()+"1.bmp")
         DeleteFile(GetHomeDirectory()+"2.bmp")
        
        
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
voilou.







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz