Page 1 sur 1

Afficher qu'une portion d'image dans un ImageGadget

Publié : lun. 22/juil./2024 18:23
par pasbel
Salutatous

Je tente d'afficher une portion d'image dans un ImageGadget...

Je crée mon gadget avec ImageGadget() en précisant la taille souhaitée.
Je charge ensuite mon image qui est donc plus grande, et Ô stupeur, le gadget prend la taille de l'image entière.
Je tente donc d'utiliser la commande ResizeGadget(), la taille du gadget (ImageGadget bien sûr... ?) se modifie, mais l'image reste affichée entière.

- est-ce faisable avec un ImageGadget ?

J'ai tenté le Resize avant d'afficher l'image, idem, le gadget prend la taille de l'image.

Bonne soirée à tous

Re: Afficher qu'une portion d'image dans un ImageGadget

Publié : lun. 22/juil./2024 22:12
par Mindphazer
Je pense que tu as meilleur compte à utiliser un CanvasGadget et afficher ton image à l'intérieur, plutôt que d'utiliser un ImageGadget

Re: Afficher qu'une portion d'image dans un ImageGadget

Publié : mar. 23/juil./2024 8:05
par Mesa
Oui, il faut utiliser le cliping, voir l'aide :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 200, 200, "ClipOutput", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateImage(0, 200, 200, 24, $FFFFFF) And StartDrawing(ImageOutput(0))

      ClipOutput(50, 50, 100, 100) ; restriction de l'affichage du dessin à cette région
      Circle( 50,  50, 50, $0000FF)  
      Circle( 50, 150, 50, $00FF00)  
      Circle(150,  50, 50, $FF0000)  
      Circle(150, 150, 50, $00FFFF)  
      
      DrawingMode(#PB_2DDrawing_Outlined)
      Box(50, 50, 100, 100, $000000)
         
      StopDrawing() 
      ImageGadget(0, 0, 0, 200, 200, ImageID(0))      
    EndIf
    
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf


M.

Re: Afficher qu'une portion d'image dans un ImageGadget

Publié : mer. 24/juil./2024 16:22
par pasbel
Désolé pour le retard, réponse tombée dans les spams...

Merci pour vos réponses, je vais étudier ça avec soin.