Récupérer la taille d'une image Bitmap et Icone avec l'API

Sujets variés concernant le développement en PureBasic
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Récupérer la taille d'une image Bitmap et Icone avec l'API

Message par Le Soldat Inconnu »

Saut,

j'ai un prob avec ma lib ButtonImageGadgetEx

j'ai ceci pour trouver la taille d'une image

Code : Tout sélectionner

GetObject_(UseImage(#Image), SizeOf(BITMAP), bm.BITMAP) 
Debug bm\bmWidth
Debug bm\bmHeight
mais ça ne marche que avec des bitmap alors que le code est normalement prévu pour supporter les icones.

et je trouve pas comment faire car je sais pas à l'avance si j'ai un bitmap ou un icone. je n'ai que le handle de l'image.

Merci d'avance pour votre aide ;)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Tu peux pas essayer de faire simple de temps en temps Le Soldat.
Tu charge une image,avec l'extension, ImageWidth() et ImageHeight()
tu fais ton code tranquille!

Sinon pour ce que tu as demandé:

Une icône représentant deux images Bitmap, tu peux faire ceci:

Code : Tout sélectionner

#Image=0
icon = LoadImage(#Image, "c:\nico.ico")
geticoninfo_(UseImage(#Image), @info.ICONINFO)
GetObject_(info\HbmMask, SizeOf(BITMAP), bm.BITMAP) 
Debug bm\bmWidth 
Debug bm\bmHeight
On récupère des infos sur l'icône, puis on obtient le Handle du masque(ce qui te permettra de vérifier si c'est bien une icône),donc finalement on se retrouve avec un handle Bitmap valide pour la fonction qui suit.

Des fois, je me dis que j'ai vraiment rien d'autre à faire! :)
Allez, bonsoir.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

je peux pas car c'est pour une lib et je n'envoie que le handle de l'image donc faut que j'utilise cette me... d'API

merci pour ta réponse. je teste ça de suite
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre