Ajuster une image à la taille d'un ImageGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Ajuster une image à la taille d'un ImageGadget

Message 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:
Denis

Bonne Jounée à tous
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message 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
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Répondre