OVH Cloud OVH Cloud

Colorier l'intérieur d'un BMP

17 réponses
Avatar
Raymond Fournier
Bonjour a tous,
Est-ce possible de colorier avec une couleur l'intérieur d'une image en
bmp par le code vb. C'est dans le but d'utiliser une image de drag and
drop qui est noir et blanc et d'avoir une couleur a la place du blanc,
pour ensuite l'utiliser comme icône de drag and drop.

Merci, Raymond Fournier :-)

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

10 réponses

1 2
Avatar
Jacques93
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
Bonjour a tous,
Est-ce possible de colorier avec une couleur l'intérieur d'une image en
bmp par le code vb. C'est dans le but d'utiliser une image de drag and
drop qui est noir et blanc et d'avoir une couleur a la place du blanc,
pour ensuite l'utiliser comme icône de drag and drop.

Merci, Raymond Fournier :-)




En plaçant ton BMP dans un PictureBox :

Dim Cx As Long, Cy As Long

With Me.Picture1
.ScaleMode = vbPixels
For Cx = 0 To .Width
For Cy = 0 To .Height
If .Point(Cx, Cy) = vbWhite Then
Picture1.PSet (Cx, Cy), vbRed
End If
Next Cy
Next Cx
End With

(il y a surement plus performant, mais une image de Drag and Drop est en
général assez petite)

--
Cordialement,

Jacques.
Avatar
Raymond Fournier a écrit :
Bonjour a tous,
Est-ce possible de colorier avec une couleur l'intérieur d'une image en
bmp par le code vb. C'est dans le but d'utiliser une image de drag and
drop qui est noir et blanc et d'avoir une couleur a la place du blanc,
pour ensuite l'utiliser comme icône de drag and drop.

Merci, Raymond Fournier :-)




Bonjour,

Oui bien sur c'est possible.

Première question comment récupères-tu ton image pour pouvoir agir
dessus ? (je suis pas un spécialiste du Drag and drop).
As-tu la possibilité de l'enregistrer dans un fichier .bmp ?
Ceci uniquement pour pouvoir au besoin te faire un exemple.

Si ton image est un vrai noir et blanc, c'est à dire que un pixel est
codé sur un bit, il suffit de modifier la table de couleur du bitmap
pour indiquer la couleur que tu souhaites à la place du blanc.

A+

Christophe
Avatar
Jacques93
Bonjour <pas-de-spam>,
<pas-de-spam> a écrit :

(il y a surement plus performant, mais une image de Drag and Drop est
en général assez petite)




Oui

Mais la solution table de couleur est "instantanée", quelle que soit la
taille du bitmap




Certes, mais est ce faisable simplement en VB ? Modifier la table de
couleurs veux dire toucher à la structure du fichier BMP, non ?

--
Cordialement,

Jacques.
Avatar
> (il y a surement plus performant, mais une image de Drag and Drop est en
général assez petite)




Oui

Mais la solution table de couleur est "instantanée", quelle que soit la
taille du bitmap

Christophe
Avatar
Jacques93 a écrit :
Bonjour <pas-de-spam>,
<pas-de-spam> a écrit :


(il y a surement plus performant, mais une image de Drag and Drop est
en général assez petite)




Oui

Mais la solution table de couleur est "instantanée", quelle que soit
la taille du bitmap




Certes, mais est ce faisable simplement en VB ? Modifier la table de
couleurs veux dire toucher à la structure du fichier BMP, non ?



Oui

Il suffit de gérer le bitmap au travers d'une structure BitmapInfo:

Private Type BITMAPINFOHEADER
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type

Private Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbReserved As Byte
End Type

Private Type BITMAPINFO
bmiHeader As BITMAPINFOHEADER
bmiColors(0 To 255) As RGBQUAD
End Type

Dans le cas du Noir et Blanc bmiheader.bibitcount=1
bmicolors(0) = rgb(0,0,0)
bmicolors(1)=rgb(255,255,255)

Si tu veux que le bitmap soit rouge et blanc :
bmicolors(0)=rgb(255,0,0)

Et le tour est joué


A+

Christophe
Avatar
Bob
Bonjour,
J'utilise ce petit truc qui pourrait peut-être te convenir.
Source VB5 à charger ici :

http://f5aib.free.fr/Fillcolor.zip

Ce n'est pas une application complète, mais seulement la partie qui m'a
servi à tester la fonction remplissage d'une zone dans un BMP.

Cordialement, Bib

"Raymond Fournier" <duracelle(Enlever-ceci)@sympatico.ca> a écrit dans le
message de news:
Bonjour a tous,
Est-ce possible de colorier avec une couleur l'intérieur d'une image en
bmp par le code vb. C'est dans le but d'utiliser une image de drag and
drop qui est noir et blanc et d'avoir une couleur a la place du blanc,
pour ensuite l'utiliser comme icône de drag and drop.

Merci, Raymond Fournier :-)

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net




Avatar
Raymond Fournier
Bob a écrit :
Bonjour,
J'utilise ce petit truc qui pourrait peut-être te convenir.
Source VB5 à charger ici :

http://f5aib.free.fr/Fillcolor.zip

Ce n'est pas une application complète, mais seulement la partie qui m'a servi
à tester la fonction remplissage d'une zone dans un BMP.

Cordialement, Bib

"Raymond Fournier" <duracelle(Enlever-ceci)@sympatico.ca> a écrit dans le
message de news:
Bonjour a tous,
Est-ce possible de colorier avec une couleur l'intérieur d'une image en bmp
par le code vb. C'est dans le but d'utiliser une image de drag and drop qui
est noir et blanc et d'avoir une couleur a la place du blanc, pour ensuite
l'utiliser comme icône de drag and drop.

Merci, Raymond Fournier :-)

-- Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net







Merci a tous,
Je vais examiner avec attention tout ce que vous m'avez proposé.

Raymond Fournier

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Raymond Fournier
Raymond Fournier a formulé la demande :
Bob a écrit :
Bonjour,
J'utilise ce petit truc qui pourrait peut-être te convenir.
Source VB5 à charger ici :

http://f5aib.free.fr/Fillcolor.zip

Ce n'est pas une application complète, mais seulement la partie qui m'a
servi à tester la fonction remplissage d'une zone dans un BMP.

Cordialement, Bib

"Raymond Fournier" <duracelle(Enlever-ceci)@sympatico.ca> a écrit dans le
message de news:
Bonjour a tous,
Est-ce possible de colorier avec une couleur l'intérieur d'une image en
bmp par le code vb. C'est dans le but d'utiliser une image de drag and
drop qui est noir et blanc et d'avoir une couleur a la place du blanc,
pour ensuite l'utiliser comme icône de drag and drop.

Merci, Raymond Fournier :-)

-- Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net







Merci a tous,
Je vais examiner avec attention tout ce que vous m'avez proposé.

Raymond Fournier



Bonjour bob,
J'ai utilisé ton exemple et sa fonction très bien. Petite question
est-ce possible d'utiliser un pictureBox au lieu d'un contrôle image ?
J'ai essayé : FloodFill Picture1.hdc, X, Y, ForeColor , mais ca ne
fonctionne pas.

Merci d'avance. Raymond Fournier

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Bob
>Bonjour bob,
J'ai utilisé ton exemple et sa fonction très bien. Petite question est-ce
possible d'utiliser un pictureBox au lieu d'un contrôle image ?
J'ai essayé : FloodFill Picture1.hdc, X, Y, ForeColor , mais ca ne
fonctionne pas.



Merci d'avance. Raymond Fournier



Bonjour Raymond,
J'ai trouvé l'exemple concernant "hdc" en parcourant l'aide de VB5 et j'ai
réussi à l'adapter à "Image" et "Shape", mais en effet, avec "pictureBox",
je ne parviens pas non plus à ce résultat. (ça ne fonctionne pas du tout!!).
Je n'en sais malheureusement pas plus sur cette fonction.
Je suis désolé de ne pas pouvoir te donner plus d'infos.
Cordialement, Bob

- Aide Visual Basic
---Exemples de code
-------Exemples H
-----------hdc
Avatar
Bob
Raymond, dans le message précédent, j'ai oublié de préciser le dossier
d'entrée de l'aide :

- Manuels en ligne
--- Aide Visual Basic
-----Exemples de code
---------Exemples - H
-------------hdc
@+
Bob
1 2