Page 1 sur 1

Ajuster une image à la taille d'un ImageGadget

Publié : jeu. 14/juil./2005 13:00
par brossden
Bonjour à tous

La question est dans le titre, comment ajuster une image (jpg par exemple) à la taille d'un ImageGadget. :oops:

J'ai utilisé la recherche sans grande réussite ! :cry:

Publié : jeu. 14/juil./2005 13:20
par fweil
Je suppose que celà devrait t'aider :

Code : Tout sélectionner

Enumeration
  #Window_Main
  #Gadget_Image
  #Image
EndEnumeration

  FileName.s = "C:\FRW\Images\Francois_Weil\Screens\Frw011-02.bmp"
  
  WindowWidth = 640 ; On définit la largeur et la hauteur de la fenêtre principale
  WindowHeight = 480
  Image_Gadget_Width = 253 ; puis la largeur et la hauteur du gadget image
  Image_Gadget_Height = 237

  ImageID = LoadImage(#Image, FileName) ; On charge l'image
  Image_Width = ImageWidth()
  Image_Height = ImageHeight()
  Image_Ratio.f = Image_Width / Image_Height ; On calcule le ratio largeur / hauteur de l'image
  Image_Gadget_Ratio.f = Image_Gadget_Width / Image_Gadget_Height ; puis du gadget
  
  If Image_Gadget_Ratio <= Image_Ratio ; On calcule les coefficients de redimensionnement en respectant le ratio initial largeur / hauteur de l'image
      kx.f = 1.0
      ky.f = Image_Gadget_Ratio / Image_Ratio
    Else
      kx.f = Image_Gadget_Ratio / Image_Ratio
      ky.f = 1.0
  EndIf
  ImageID = ResizeImage(#Image, Image_Gadget_Width * kx, Image_Gadget_Height * ky) ; et on redimensionne l'image
  If OpenWindow(#Window_Main, 0, 0, WindowWidth, WindowHeight, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered, "MyWindow")
      AddKeyboardShortcut(#Window_Main, #PB_Shortcut_Escape, #PB_Shortcut_Escape)
      If CreateGadgetList(WindowID(#Window_Main))
          ImageGadget(#Gadget_Image, 10, 10, Image_Gadget_Width, Image_Gadget_Height, ImageID)
      EndIf
      Quit = #FALSE
      Repeat
        Select WaitWindowEvent()
          Case #PB_Event_CloseWindow
            Quit = #TRUE
          Case #PB_Event_Menu
            Select EventMenuID()
              Case #PB_Shortcut_Escape
                Quit = #TRUE
            EndSelect
        EndSelect
      Until Quit
  EndIf
End