Centrer une image dans un ImageGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Centrer une image dans un ImageGadget

Message par NY152 »

Bonjour,

J'avoue sécher un peu sur le pourquoi du comment. Comment fait-on pour centrer une image dans un ImageGadget ?

Désolé de poser une question si basique, je programme rarement des interfaces graphiques.

D'avance, merci
.:NY152:.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Centrer une image dans un ImageGadget

Message par nico »

Si tu veux rester avec du code Purebasic, il te suffit de modifier l'image avec les commandes de découpes de Purebasic avec GrabImage par exemple.
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: Centrer une image dans un ImageGadget

Message par NY152 »

Découper l'image pour la centrer ? Même si elle est plus petite ?

J'avoue de pas comprendre ...

Un simple flag aurait été trop simple lol
.:NY152:.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Centrer une image dans un ImageGadget

Message par nico »

Découper l'image pour la centrer ? Même si elle est plus petite ?
C'est moi qui ne comprend pas du coup; si t'as besoin de centrer une image, c'est bien qu'elle est plus grande que nécessaire?
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: Centrer une image dans un ImageGadget

Message par NY152 »

Ben non quand mon image est plus petite que le gadget, je veux la centrer au milieu de celui-ci :)

Si l'image était plus grand, là je la découperais pour la recadrer :)
.:NY152:.
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Centrer une image dans un ImageGadget

Message par omega »

Bonjour,

Je crois que les paramètres (Largeur et Longueur) sont prévus pour ça; je dis bien JE CROIS, je dois faire un vrai test pour en être sûr...

Rappel de la syntaxe:
ImageGadget(0, col, ligne, Largeur, Hauteur, ImageID (0))

bonne continuation
Win7 (x64) 64 bits Pb 5.72
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Centrer une image dans un ImageGadget

Message par nico »

Ben non quand mon image est plus petite que le gadget, je veux la centrer au milieu de celui-ci
C'est toujours incompréhensible ton histoire, bon j'arrête là le dialogue de sourd.

Extrait de l'aide:
Le gadget ajuste sa largeur et sa hauteur pour s'adapter à l'image affichée.

La largeur et la hauteur spécifiées ne sont utilisés que si aucune image ne s'affiche.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Centrer une image dans un ImageGadget

Message par Backup »

.....
Dernière modification par Backup le lun. 18/août/2014 16:35, modifié 1 fois.
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: Centrer une image dans un ImageGadget

Message par NY152 »

Le gadget étant lui même centré sur la fenêtre, ça commence à faire beaucoup lol

Ce code excentrera le gadget et donc l'image sur la fenêtre.

Y a pas plus simple ?
.:NY152:.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Centrer une image dans un ImageGadget

Message par falsam »

Bonjour NY152. Centrer une image dans un ImageGadget est nativement pas possible car le gadget ajuste sa largeur et sa hauteur pour s'adapter à l'image affichée
NY152 a écrit :Y a pas plus simple ?
Donc non :)

J'ajoute un tout petit code qui va chercher une image de 16x17 dans les exemple pour l'afficher dans dans une imagegadget de 100x100 : L'imagegadget sera ajusté à 16x17

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 245, 105, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  SetWindowColor(0, RGB(255, 215, 0))
  If LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\Drive.bmp")
    ImageGadget(0, 10, 10, 100, 100, ImageID(0))
  EndIf
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Tu peux essayer aussi en remplaçant ImageGadget(0, 10, 10, 100, 100, ImageID(0)) par ImageGadget(0, 10, 10, 0, 0, ImageID(0)) le résultat sera le même. Tu aurais bien voulu un flag #PB_Center hein ? et bien non. Ca serait trop facile :mrgreen:
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: Centrer une image dans un ImageGadget

Message par falsam »

Quelques minute plus tard .....
je suppose que tu voulais un truc de ce genre mais avec
-Un flag pour dire pas de resize du gadget image
-et un autre pout centrer l'ImageId
?

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 245, 125, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  SetWindowColor(0, RGB(255, 215, 0))
  If LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\Drive.bmp")    
    hwnd = CreateWindowEx_(0,"Static","",#SS_CENTERIMAGE|#SS_BITMAP|#WS_CHILD|#WS_VISIBLE,10,10,100,100,WindowID(0),1,GetModuleHandle_(0),0)
    SendMessage_(hwnd,#STM_SETIMAGE,#IMAGE_BITMAP,ImageID(0))
  EndIf
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
C'est une solution Windows Only mais ça fonctionne :)
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%
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: Centrer une image dans un ImageGadget

Message par NY152 »

Merci pour ces aides, je vais tenter de faire avec :)

Pour l'exemple "Windows Only", il ne me servira pas car je suis sur une application Linux/Windows mais ton exemple servira, j'en suis sur à ceux qui sont exclusivement sous Windows :)
.:NY152:.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Centrer une image dans un ImageGadget

Message par Backup »

.......
Dernière modification par Backup le lun. 18/août/2014 16:35, modifié 1 fois.
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: Centrer une image dans un ImageGadget

Message par NY152 »

Merci de ton aide, j'ai réussis à me dépatouiller avec ça. Il ne me restera plus qu'à automatiser ça sur un gadget déjà en place. Encore merci :)
.:NY152:.
Répondre