Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

WD8 Comment affecter une palette de couleurs (bits/pixel) à un champ image

4 réponses
Avatar
Georges Peyre
Bonjour

Le code suivant permet de récupérer les caractéristiques d'une image (
infos issues de l'aide Windev )
InfoImage, Format sont des chaînes
Hauteur, Largeur, Palette sont des entiers
// Récupération des caractéristiques de l'image
InfoImage = InfoBitmap(ICONECHEMIN)
Format = ExtraitChaîne(InfoImage, 1)
Largeur = Val(ExtraitChaîne(InfoImage, 2))
Hauteur = Val(ExtraitChaîne(InfoImage, 3))
Palette = Val(ExtraitChaîne(InfoImage, 4))
// Affichage des caractéristiques
Info("Format de l'image : " + Format, "Largeur : " + Largeur +" Hauteur :
" + Hauteur + " Palette :" + Palette)

Dans ce code on peux notamment connaitre le nombre de couleurs
composant la palette des couleurs
Si palette = 4 le nombre de couleurs est de 16 bits par pixels
Si palette = 8 le nombre de couleurs est de 256 bits par pixels
Si palette = 24 le nombre de couleurs est de 16 millions de bits par
pixels

Mais comment créer un champ image et lui affecter le nombre de bits /
par pixels qu'on désire ( 256 par exemple )
Je n'ai pas trouvé une fonction de champ image ou de dessin qui permet
de créer cette palette

Je veux ...
1) créer un champ image dans une fenêtre
2) définir pour ce champ une palette de 256 bits par pixels
3) y charger une image qui devra conserver cette définition

Merci d'avance

--
Elle est pas belle la vie ?

4 réponses

Avatar
STASZEWSKI André
Salut Georges,

Georges Peyre wrote:
Bonjour

Le code suivant permet de récupérer les caractéristiques d'une image (
infos issues de l'aide Windev )
InfoImage, Format sont des chaînes
Hauteur, Largeur, Palette sont des entiers
// Récupération des caractéristiques de l'image
InfoImage = InfoBitmap(ICONECHEMIN)
Format = ExtraitChaîne(InfoImage, 1)
Largeur = Val(ExtraitChaîne(InfoImage, 2))
Hauteur = Val(ExtraitChaîne(InfoImage, 3))
Palette = Val(ExtraitChaîne(InfoImage, 4))
// Affichage des caractéristiques
Info("Format de l'image : " + Format, "Largeur : " + Largeur +"
Hauteur : " + Hauteur + " Palette :" + Palette)

Dans ce code on peux notamment connaitre le nombre de couleurs
composant la palette des couleurs
Si palette = 4 le nombre de couleurs est de 16 bits par pixels
Si palette = 8 le nombre de couleurs est de 256 bits par pixels
Si palette = 24 le nombre de couleurs est de 16 millions de bits par
pixels

Mais comment créer un champ image et lui affecter le nombre de bits /
par pixels qu'on désire ( 256 par exemple )
Je n'ai pas trouvé une fonction de champ image ou de dessin qui permet
de créer cette palette

Je veux ...
1) créer un champ image dans une fenêtre
2) définir pour ce champ une palette de 256 bits par pixels
3) y charger une image qui devra conserver cette définition

Merci d'avance


Je pense qu'il faut formuler ta question en suggestion et l'envoyer au
support technique (vite, avant la sortie de la 9!)
--
Cordialement,
André STASZEWSKI
Nouvelle version 3.1 de Photo Visu sur www.PlaneteDev.fr.st
Contact ; Cliquez sur ce lien : http://cerbermail.com/?OT0Wnwyzph
Avatar
Georges Peyre
Bonjour André,
Tu as raison je vais le faire
En attendant j'ai trouvé l'API CréateBitmap
API("gdi32","CreateBitmap",32,32,1,8,Null)
... qui peut servir (???) à initialiser le nombre de bits/pixels ( dans
l'exemple c'est le chiffre 8 qui signifie 256 bits/pixels
Seulement je ne trouve pas du tout comment le combiner avec ExtractIcon
et DrawIcon
Peut-être aurais-tu un exemple ?
Cordialement




Après mure réflexion, STASZEWSKI André a écrit :
Salut Georges,

Georges Peyre wrote:
Bonjour

Le code suivant permet de récupérer les caractéristiques d'une image (
infos issues de l'aide Windev )
InfoImage, Format sont des chaînes
Hauteur, Largeur, Palette sont des entiers
// Récupération des caractéristiques de l'image
InfoImage = InfoBitmap(ICONECHEMIN)
Format = ExtraitChaîne(InfoImage, 1)
Largeur = Val(ExtraitChaîne(InfoImage, 2))
Hauteur = Val(ExtraitChaîne(InfoImage, 3))
Palette = Val(ExtraitChaîne(InfoImage, 4))
// Affichage des caractéristiques
Info("Format de l'image : " + Format, "Largeur : " + Largeur +"
Hauteur : " + Hauteur + " Palette :" + Palette)

Dans ce code on peux notamment connaitre le nombre de couleurs
composant la palette des couleurs
Si palette = 4 le nombre de couleurs est de 16 bits par pixels
Si palette = 8 le nombre de couleurs est de 256 bits par pixels
Si palette = 24 le nombre de couleurs est de 16 millions de bits par
pixels

Mais comment créer un champ image et lui affecter le nombre de bits /
par pixels qu'on désire ( 256 par exemple )
Je n'ai pas trouvé une fonction de champ image ou de dessin qui permet
de créer cette palette

Je veux ...
1) créer un champ image dans une fenêtre
2) définir pour ce champ une palette de 256 bits par pixels
3) y charger une image qui devra conserver cette définition

Merci d'avance


Je pense qu'il faut formuler ta question en suggestion et l'envoyer au
support technique (vite, avant la sortie de la 9!)



--
Elle est pas belle la vie ?
Avatar
STASZEWSKI André
Salut,

Georges Peyre wrote:
Bonjour André,
Tu as raison je vais le faire
En attendant j'ai trouvé l'API CréateBitmap
API("gdi32","CreateBitmap",32,32,1,8,Null)
... qui peut servir (???) à initialiser le nombre de bits/pixels (
dans l'exemple c'est le chiffre 8 qui signifie 256 bits/pixels
Seulement je ne trouve pas du tout comment le combiner avec
ExtractIcon et DrawIcon
Peut-être aurais-tu un exemple ?
Cordialement



Ben non, mais comme cet API ne fonctionne qu'avec des fichiers de type BMP,
je ne vois pas la relation avec ExtractIcon et DrawIcon qui sont censés
récupérer des ICO ???


Après mure réflexion, STASZEWSKI André a écrit :
Salut Georges,

Georges Peyre wrote:
Bonjour

Le code suivant permet de récupérer les caractéristiques d'une
image ( infos issues de l'aide Windev )
InfoImage, Format sont des chaînes
Hauteur, Largeur, Palette sont des entiers
// Récupération des caractéristiques de l'image
InfoImage = InfoBitmap(ICONECHEMIN)
Format = ExtraitChaîne(InfoImage, 1)
Largeur = Val(ExtraitChaîne(InfoImage, 2))
Hauteur = Val(ExtraitChaîne(InfoImage, 3))
Palette = Val(ExtraitChaîne(InfoImage, 4))
// Affichage des caractéristiques
Info("Format de l'image : " + Format, "Largeur : " + Largeur +"
Hauteur : " + Hauteur + " Palette :" + Palette)

Dans ce code on peux notamment connaitre le nombre de couleurs
composant la palette des couleurs
Si palette = 4 le nombre de couleurs est de 16 bits par pixels
Si palette = 8 le nombre de couleurs est de 256 bits par pixels
Si palette = 24 le nombre de couleurs est de 16 millions de bits
par pixels

Mais comment créer un champ image et lui affecter le nombre de bits
/ par pixels qu'on désire ( 256 par exemple )
Je n'ai pas trouvé une fonction de champ image ou de dessin qui
permet de créer cette palette

Je veux ...
1) créer un champ image dans une fenêtre
2) définir pour ce champ une palette de 256 bits par pixels
3) y charger une image qui devra conserver cette définition

Merci d'avance


Je pense qu'il faut formuler ta question en suggestion et l'envoyer
au support technique (vite, avant la sortie de la 9!)





--
Cordialement,
André STASZEWSKI
Nouvelle version 3.1 de Photo Visu sur www.PlaneteDev.fr.st
Contact ; Cliquez sur ce lien : http://cerbermail.com/?OT0Wnwyzph
Avatar
Georges Peyre
Bonjour,
STASZEWSKI André avait énoncé :
Salut,

Georges Peyre wrote:
Bonjour André,
Tu as raison je vais le faire
En attendant j'ai trouvé l'API CréateBitmap
API("gdi32","CreateBitmap",32,32,1,8,Null)
... qui peut servir (???) à initialiser le nombre de bits/pixels (
dans l'exemple c'est le chiffre 8 qui signifie 256 bits/pixels
Seulement je ne trouve pas du tout comment le combiner avec
ExtractIcon et DrawIcon
Peut-être aurais-tu un exemple ?
Cordialement



Ben non, mais comme cet API ne fonctionne qu'avec des fichiers de type BMP,
je ne vois pas la relation avec ExtractIcon et DrawIcon qui sont censés
récupérer des ICO ???





Parce qu'alors j'aurais constitué une icone .BMP limitée à 256 couleurs
Cordialement

--
Elle est pas belle la vie ?