OVH Cloud OVH Cloud

image dans un picturebox

5 réponses
Avatar
laurent
bonjour,

j'aurais voulu savoir s'il =E9t=E9 possible (si oui,=20
comment ?!) de modifier une image dans un picture box en=20
tant r=E9=E9l.
Je m'explique :=20
Ma form contient une liste d'enregistrement dans une=20
grille, on s=E9lectionne une ligne et on peut modifier le=20
d=E9tail dans des textboxs apr=E8s avoir cliquer sur mon=20
bouton modifier. Mon d=E9tail se met =E0 jour =E0 chaque=20
changement de ligne mais n'est activ=E9 que quand on clique=20
sur modifier.
Je voudrais que ma photo soit en noir et blanc quand c'est=20
inactif et en couleur quand c'est actif...
Pas simple...!?

Merci pour vos r=E9ponses.

5 réponses

Avatar
Stéphane L.
Bonjour Laurent,

Je ne sais pas modifier 1 image, par contre, tu peux avoir 2 fichiers images
pour tes photos :
1 en noir et blanc
et 1 autre en couleur
si c'est inactif :
pictureBox1.Image = CType(New Bitmap(chemin_complet_photo_nb), Image)

si c'est actif :
pictureBox1.Image = CType(New Bitmap(chemin_complet_photo_couleur), Image)


Cordialement,

Stéphane


"laurent" a écrit dans le message de
news: 452c01c4a6f1$484c5df0$
bonjour,

j'aurais voulu savoir s'il été possible (si oui,
comment ?!) de modifier une image dans un picture box en
tant réél.
Je m'explique :
Ma form contient une liste d'enregistrement dans une
grille, on sélectionne une ligne et on peut modifier le
détail dans des textboxs après avoir cliquer sur mon
bouton modifier. Mon détail se met à jour à chaque
changement de ligne mais n'est activé que quand on clique
sur modifier.
Je voudrais que ma photo soit en noir et blanc quand c'est
inactif et en couleur quand c'est actif...
Pas simple...!?

Merci pour vos réponses.
Avatar
laurent
C'est une idée, mais je gère des établissements scolaires,
soit de 200 à 5000 élèves par dossier...
Je te laisse trouver le hic !

Sympa a toi qd même, a +


-----Message d'origine-----
Bonjour Laurent,

Je ne sais pas modifier 1 image, par contre, tu peux


avoir 2 fichiers images
pour tes photos :
1 en noir et blanc
et 1 autre en couleur
si c'est inactif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_nb), Image)

si c'est actif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_couleur), Image)


Cordialement,

Stéphane


"laurent" a écrit


dans le message de
news: 452c01c4a6f1$484c5df0$
bonjour,

j'aurais voulu savoir s'il été possible (si oui,
comment ?!) de modifier une image dans un picture box en
tant réél.
Je m'explique :
Ma form contient une liste d'enregistrement dans une
grille, on sélectionne une ligne et on peut modifier le
détail dans des textboxs après avoir cliquer sur mon
bouton modifier. Mon détail se met à jour à chaque
changement de ligne mais n'est activé que quand on clique
sur modifier.
Je voudrais que ma photo soit en noir et blanc quand c'est
inactif et en couleur quand c'est actif...
Pas simple...!?

Merci pour vos réponses.


.



Avatar
Stéphane L.
Re bonjour Laurent,

Ok, en effet, dans ce cas, ca parait très dur :)

Sans essayer, il me vient 1 autre idée, qui ressemble plus à 1 solution de
contournement (je ne sais pas du tout si ça peut marcher) :
Créer 1 formulaire spécial qui contient 1 image grise, qui n'a pas de
bordure et qui est opaque à 75% par exemple.
Il suffirait de rajouter ce formulaire en modifiant la position et la taille
pour qu'il soit par dessus l'image quand c'est inactif

Stéphane


"laurent" a écrit dans le message de
news: 464c01c4a6fd$73e85840$
C'est une idée, mais je gère des établissements scolaires,
soit de 200 à 5000 élèves par dossier...
Je te laisse trouver le hic !

Sympa a toi qd même, a +


-----Message d'origine-----
Bonjour Laurent,

Je ne sais pas modifier 1 image, par contre, tu peux


avoir 2 fichiers images
pour tes photos :
1 en noir et blanc
et 1 autre en couleur
si c'est inactif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_nb), Image)

si c'est actif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_couleur), Image)


Cordialement,

Stéphane


"laurent" a écrit


dans le message de
news: 452c01c4a6f1$484c5df0$
bonjour,

j'aurais voulu savoir s'il été possible (si oui,
comment ?!) de modifier une image dans un picture box en
tant réél.
Je m'explique :
Ma form contient une liste d'enregistrement dans une
grille, on sélectionne une ligne et on peut modifier le
détail dans des textboxs après avoir cliquer sur mon
bouton modifier. Mon détail se met à jour à chaque
changement de ligne mais n'est activé que quand on clique
sur modifier.
Je voudrais que ma photo soit en noir et blanc quand c'est
inactif et en couleur quand c'est actif...
Pas simple...!?

Merci pour vos réponses.


.



Avatar
David Bouchard
Il est possible de faire ce que tu veux, voici une petite example, il faut
que tu ajoute dans une form un picturebox et deux boutons pour essaye mon
code.

Dim image As Bitmap = image.FromFile("C:Documents and SettingsAll
UsersDocumentsMes imagesÉchantillons d'imagesNénuphars.jpg")

Dim imgatt As Drawing.Imaging.ImageAttributes

Dim ColorMatrix As Drawing.Imaging.ColorMatrix

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

Dim RectDest As Rectangle = New Rectangle(0, 0, image.Width, image.Height)

e.Graphics.DrawImage(image, RectDest, 0, 0, RectDest.Width, RectDest.Height,
GraphicsUnit.Pixel, imgatt)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

imgatt.ClearColorMatrix()

Me.PictureBox1.Invalidate()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

imgatt.SetColorMatrix(ColorMatrix)

Me.PictureBox1.Invalidate()

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

imgatt = New Drawing.Imaging.ImageAttributes

ColorMatrix = New Drawing.Imaging.ColorMatrix(New Single()() _

{New Single() {0.299, 0.299, 0.299, 0, 0}, _

New Single() {0.587, 0.587, 0.587, 0, 0}, _

New Single() {0.114, 0.114, 0.114, 0, 0}, _

New Single() {0, 0, 0, 1, 0}, _

New Single() {0, 0, 0, 0, 1}})

End Sub

"Stéphane L." a écrit dans le message de news:

Re bonjour Laurent,

Ok, en effet, dans ce cas, ca parait très dur :)

Sans essayer, il me vient 1 autre idée, qui ressemble plus à 1 solution de
contournement (je ne sais pas du tout si ça peut marcher) :
Créer 1 formulaire spécial qui contient 1 image grise, qui n'a pas de
bordure et qui est opaque à 75% par exemple.
Il suffirait de rajouter ce formulaire en modifiant la position et la
taille pour qu'il soit par dessus l'image quand c'est inactif

Stéphane


"laurent" a écrit dans le message de
news: 464c01c4a6fd$73e85840$
C'est une idée, mais je gère des établissements scolaires,
soit de 200 à 5000 élèves par dossier...
Je te laisse trouver le hic !

Sympa a toi qd même, a +


-----Message d'origine-----
Bonjour Laurent,

Je ne sais pas modifier 1 image, par contre, tu peux


avoir 2 fichiers images
pour tes photos :
1 en noir et blanc
et 1 autre en couleur
si c'est inactif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_nb), Image)

si c'est actif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_couleur), Image)


Cordialement,

Stéphane


"laurent" a écrit


dans le message de
news: 452c01c4a6f1$484c5df0$
bonjour,

j'aurais voulu savoir s'il été possible (si oui,
comment ?!) de modifier une image dans un picture box en
tant réél.
Je m'explique :
Ma form contient une liste d'enregistrement dans une
grille, on sélectionne une ligne et on peut modifier le
détail dans des textboxs après avoir cliquer sur mon
bouton modifier. Mon détail se met à jour à chaque
changement de ligne mais n'est activé que quand on clique
sur modifier.
Je voudrais que ma photo soit en noir et blanc quand c'est
inactif et en couleur quand c'est actif...
Pas simple...!?

Merci pour vos réponses.


.







Avatar
David Bouchard
Essaye ce petit example, ca fonctionne bien. Ajoute deux boutons a ta form
et un picturebox

Dim image As Bitmap = image.FromFile("C:Documents and SettingsAll
UsersDocumentsMes imagesÉchantillons d'imagesNénuphars.jpg")

Dim imgatt As Drawing.Imaging.ImageAttributes

Dim ColorMatrix As Drawing.Imaging.ColorMatrix

Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint

Dim RectDest As Rectangle = New Rectangle(0, 0, image.Width, image.Height)

e.Graphics.DrawImage(image, RectDest, 0, 0, RectDest.Width, RectDest.Height,
GraphicsUnit.Pixel, imgatt)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

imgatt.ClearColorMatrix()

Me.PictureBox1.Invalidate()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

imgatt.SetColorMatrix(ColorMatrix)

Me.PictureBox1.Invalidate()

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

imgatt = New Drawing.Imaging.ImageAttributes

ColorMatrix = New Drawing.Imaging.ColorMatrix(New Single()() _

{New Single() {0.299, 0.299, 0.299, 0, 0}, _

New Single() {0.587, 0.587, 0.587, 0, 0}, _

New Single() {0.114, 0.114, 0.114, 0, 0}, _

New Single() {0, 0, 0, 1, 0}, _

New Single() {0, 0, 0, 0, 1}})

End Sub



David

"Stéphane L." a écrit dans le message de news:

Re bonjour Laurent,

Ok, en effet, dans ce cas, ca parait très dur :)

Sans essayer, il me vient 1 autre idée, qui ressemble plus à 1 solution de
contournement (je ne sais pas du tout si ça peut marcher) :
Créer 1 formulaire spécial qui contient 1 image grise, qui n'a pas de
bordure et qui est opaque à 75% par exemple.
Il suffirait de rajouter ce formulaire en modifiant la position et la
taille pour qu'il soit par dessus l'image quand c'est inactif

Stéphane


"laurent" a écrit dans le message de
news: 464c01c4a6fd$73e85840$
C'est une idée, mais je gère des établissements scolaires,
soit de 200 à 5000 élèves par dossier...
Je te laisse trouver le hic !

Sympa a toi qd même, a +


-----Message d'origine-----
Bonjour Laurent,

Je ne sais pas modifier 1 image, par contre, tu peux


avoir 2 fichiers images
pour tes photos :
1 en noir et blanc
et 1 autre en couleur
si c'est inactif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_nb), Image)

si c'est actif :
pictureBox1.Image = CType(New Bitmap


(chemin_complet_photo_couleur), Image)


Cordialement,

Stéphane


"laurent" a écrit


dans le message de
news: 452c01c4a6f1$484c5df0$
bonjour,

j'aurais voulu savoir s'il été possible (si oui,
comment ?!) de modifier une image dans un picture box en
tant réél.
Je m'explique :
Ma form contient une liste d'enregistrement dans une
grille, on sélectionne une ligne et on peut modifier le
détail dans des textboxs après avoir cliquer sur mon
bouton modifier. Mon détail se met à jour à chaque
changement de ligne mais n'est activé que quand on clique
sur modifier.
Je voudrais que ma photo soit en noir et blanc quand c'est
inactif et en couleur quand c'est actif...
Pas simple...!?

Merci pour vos réponses.


.