Prblème pour redésinner a partir d'une image de base
5 réponses
Stéphane
Bonjour,
Voilà mon problème, je voudrais dessiner une image de base qui me sert de
fond et ensuite reprende cette image et rajouter des éléments. Je dessine
donc mon image avec cette procédure :
Dim ImageSize As New System.Drawing.Size(300, 200)
Dim Image As System.Drawing.Image = New
System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height)
Dim Graphics As System.Drawing.Graphics =
System.Drawing.Graphics.FromImage(Image)
Dim i
Dim ImgFormant As System.Drawing.Imaging.ImageFormat =
System.Drawing.Imaging.ImageFormat.Bmp
Graphics.Clear(System.Drawing.Color.White)
For i = 2 To n_point1
Graphics.DrawLine(System.Drawing.Pens.Black, New
System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i))
Next
PictureBox1.Image = Image
Et ensuite je voudrait la récupérer pour la modifier, dans une nouvelle
procédure je fait donc un :
Image = PictureBox1.Image pour récupérer l'image
je fait mes rajouts, et je fait un
PictureBox2.Image = Image pour l'afficher
Voilà la procédure :
Dim ImageSize As New System.Drawing.Size(300, 200)
Dim Image As System.Drawing.Image = New
System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height)
Dim Graphics As System.Drawing.Graphics =
System.Drawing.Graphics.FromImage(Image)
Dim ImgFormant As System.Drawing.Imaging.ImageFormat =
System.Drawing.Imaging.ImageFormat.Bmp
Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de
fond de l'image
Image = PictureBox1.Image
Graphics.DrawLine(System.Drawing.Pens.Black, New
System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
PictureBox2.Image = Image
Le problème c'est que les éléments que je rajoute n'apparaisent pas, seul
l'image d'origine est présente, ou est ce que je fait une erreur ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alex C.
On 8 sep, 10:55, "Stéphane" c.fr> wrote:
Bonjour,
Voilà mon problème, je voudrais dessiner une image de base qui me ser t de fond et ensuite reprende cette image et rajouter des éléments. Je des sine donc mon image avec cette procédure :
Dim ImageSize As New System.Drawing.Size(300, 200) Dim Image As System.Drawing.Image = New System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Image) Dim i Dim ImgFormant As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp Graphics.Clear(System.Drawing.Color.White)
For i = 2 To n_point1 Graphics.DrawLine(System.Drawing.Pens.Bla ck, New System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i)) Next
PictureBox1.Image = Image
Et ensuite je voudrait la récupérer pour la modifier, dans une nouvel le procédure je fait donc un : Image = PictureBox1.Image pour récupérer l'image je fait mes rajouts, et je fait un PictureBox2.Image = Image pour l'afficher
Voilà la procédure :
Dim ImageSize As New System.Drawing.Size(300, 200) Dim Image As System.Drawing.Image = New System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Image) Dim ImgFormant As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de fond de l'image
Image = PictureBox1.Image
Graphics.DrawLine(System.Drawing.Pens.Black, New System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
PictureBox2.Image = Image
Le problème c'est que les éléments que je rajoute n'apparaisent pas , seul l'image d'origine est présente, ou est ce que je fait une erreur ?
Merci d'avance
Cordialement
Stéphane
Bonjour,
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
On 8 sep, 10:55, "Stéphane" <stephane.aubou...@-----nospam----s-g-
c.fr> wrote:
Bonjour,
Voilà mon problème, je voudrais dessiner une image de base qui me ser t de
fond et ensuite reprende cette image et rajouter des éléments. Je des sine
donc mon image avec cette procédure :
Dim ImageSize As New System.Drawing.Size(300, 200)
Dim Image As System.Drawing.Image = New
System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height)
Dim Graphics As System.Drawing.Graphics =
System.Drawing.Graphics.FromImage(Image)
Dim i
Dim ImgFormant As System.Drawing.Imaging.ImageFormat =
System.Drawing.Imaging.ImageFormat.Bmp
Graphics.Clear(System.Drawing.Color.White)
For i = 2 To n_point1
Graphics.DrawLine(System.Drawing.Pens.Bla ck, New
System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i))
Next
PictureBox1.Image = Image
Et ensuite je voudrait la récupérer pour la modifier, dans une nouvel le
procédure je fait donc un :
Image = PictureBox1.Image pour récupérer l'image
je fait mes rajouts, et je fait un
PictureBox2.Image = Image pour l'afficher
Voilà la procédure :
Dim ImageSize As New System.Drawing.Size(300, 200)
Dim Image As System.Drawing.Image = New
System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height)
Dim Graphics As System.Drawing.Graphics =
System.Drawing.Graphics.FromImage(Image)
Dim ImgFormant As System.Drawing.Imaging.ImageFormat =
System.Drawing.Imaging.ImageFormat.Bmp
Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de
fond de l'image
Image = PictureBox1.Image
Graphics.DrawLine(System.Drawing.Pens.Black, New
System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
PictureBox2.Image = Image
Le problème c'est que les éléments que je rajoute n'apparaisent pas , seul
l'image d'origine est présente, ou est ce que je fait une erreur ?
Merci d'avance
Cordialement
Stéphane
Bonjour,
Essayez de cloner l'image avant de l'affecter à une variable, car en
faisant Image = PictureBox1.Image , c'est une affectation par
référence et non par "valeur", et donc le "flux", de dessin est le
même.
Voilà mon problème, je voudrais dessiner une image de base qui me ser t de fond et ensuite reprende cette image et rajouter des éléments. Je des sine donc mon image avec cette procédure :
Dim ImageSize As New System.Drawing.Size(300, 200) Dim Image As System.Drawing.Image = New System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Image) Dim i Dim ImgFormant As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp Graphics.Clear(System.Drawing.Color.White)
For i = 2 To n_point1 Graphics.DrawLine(System.Drawing.Pens.Bla ck, New System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i)) Next
PictureBox1.Image = Image
Et ensuite je voudrait la récupérer pour la modifier, dans une nouvel le procédure je fait donc un : Image = PictureBox1.Image pour récupérer l'image je fait mes rajouts, et je fait un PictureBox2.Image = Image pour l'afficher
Voilà la procédure :
Dim ImageSize As New System.Drawing.Size(300, 200) Dim Image As System.Drawing.Image = New System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) Dim Graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(Image) Dim ImgFormant As System.Drawing.Imaging.ImageFormat = System.Drawing.Imaging.ImageFormat.Bmp Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de fond de l'image
Image = PictureBox1.Image
Graphics.DrawLine(System.Drawing.Pens.Black, New System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
PictureBox2.Image = Image
Le problème c'est que les éléments que je rajoute n'apparaisent pas , seul l'image d'origine est présente, ou est ce que je fait une erreur ?
Merci d'avance
Cordialement
Stéphane
Bonjour,
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
Alex C.
On 8 sep, 14:25, "Alex C." wrote:
On 8 sep, 10:55, "Stéphane"
c.fr> wrote: > Bonjour,
> Voilà mon problème, je voudrais dessiner une image de base qui me s ert de > fond et ensuite reprende cette image et rajouter des éléments. Je d essine > donc mon image avec cette procédure :
> Dim ImageSize As New System.Drawing.Size(300, 200) > Dim Image As System.Drawing.Image = New > System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) > Dim Graphics As System.Drawing.Graphics = > System.Drawing.Graphics.FromImage(Image) > Dim i > Dim ImgFormant As System.Drawing.Imaging.ImageFormat = > System.Drawing.Imaging.ImageFormat.Bmp > Graphics.Clear(System.Drawing.Color.White)
> For i = 2 To n_point1 > Graphics.DrawLine(System.Drawing.Pens.B lack, New > System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i) ) > Next
> PictureBox1.Image = Image
> Et ensuite je voudrait la récupérer pour la modifier, dans une nouv elle > procédure je fait donc un : > Image = PictureBox1.Image pour récupérer l'image > je fait mes rajouts, et je fait un > PictureBox2.Image = Image pour l'afficher
> Voilà la procédure :
> Dim ImageSize As New System.Drawing.Size(300, 200) > Dim Image As System.Drawing.Image = New > System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) > Dim Graphics As System.Drawing.Graphics = > System.Drawing.Graphics.FromImage(Image) > Dim ImgFormant As System.Drawing.Imaging.ImageFormat = > System.Drawing.Imaging.ImageFormat.Bmp > Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de > fond de l'image
> Image = PictureBox1.Image
> Graphics.DrawLine(System.Drawing.Pens.Black, New > System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
> PictureBox2.Image = Image
> Le problème c'est que les éléments que je rajoute n'apparaisent p as, seul > l'image d'origine est présente, ou est ce que je fait une erreur ?
> Merci d'avance
> Cordialement
> Stéphane
Bonjour,
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet graphics n'est pas le bon, il faut en recréer un correspondant à la deuxième image.
On 8 sep, 14:25, "Alex C." <Py...@orange.fr> wrote:
On 8 sep, 10:55, "Stéphane" <stephane.aubou...@-----nospam----s-g-
c.fr> wrote:
> Bonjour,
> Voilà mon problème, je voudrais dessiner une image de base qui me s ert de
> fond et ensuite reprende cette image et rajouter des éléments. Je d essine
> donc mon image avec cette procédure :
> Dim ImageSize As New System.Drawing.Size(300, 200)
> Dim Image As System.Drawing.Image = New
> System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height)
> Dim Graphics As System.Drawing.Graphics =
> System.Drawing.Graphics.FromImage(Image)
> Dim i
> Dim ImgFormant As System.Drawing.Imaging.ImageFormat =
> System.Drawing.Imaging.ImageFormat.Bmp
> Graphics.Clear(System.Drawing.Color.White)
> For i = 2 To n_point1
> Graphics.DrawLine(System.Drawing.Pens.B lack, New
> System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i) )
> Next
> PictureBox1.Image = Image
> Et ensuite je voudrait la récupérer pour la modifier, dans une nouv elle
> procédure je fait donc un :
> Image = PictureBox1.Image pour récupérer l'image
> je fait mes rajouts, et je fait un
> PictureBox2.Image = Image pour l'afficher
> Voilà la procédure :
> Dim ImageSize As New System.Drawing.Size(300, 200)
> Dim Image As System.Drawing.Image = New
> System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height)
> Dim Graphics As System.Drawing.Graphics =
> System.Drawing.Graphics.FromImage(Image)
> Dim ImgFormant As System.Drawing.Imaging.ImageFormat =
> System.Drawing.Imaging.ImageFormat.Bmp
> Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de
> fond de l'image
> Image = PictureBox1.Image
> Graphics.DrawLine(System.Drawing.Pens.Black, New
> System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
> PictureBox2.Image = Image
> Le problème c'est que les éléments que je rajoute n'apparaisent p as, seul
> l'image d'origine est présente, ou est ce que je fait une erreur ?
> Merci d'avance
> Cordialement
> Stéphane
Bonjour,
Essayez de cloner l'image avant de l'affecter à une variable, car en
faisant Image = PictureBox1.Image , c'est une affectation par
référence et non par "valeur", et donc le "flux", de dessin est le
même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet
graphics n'est pas le bon, il faut en recréer un correspondant à la
deuxième image.
> Voilà mon problème, je voudrais dessiner une image de base qui me s ert de > fond et ensuite reprende cette image et rajouter des éléments. Je d essine > donc mon image avec cette procédure :
> Dim ImageSize As New System.Drawing.Size(300, 200) > Dim Image As System.Drawing.Image = New > System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) > Dim Graphics As System.Drawing.Graphics = > System.Drawing.Graphics.FromImage(Image) > Dim i > Dim ImgFormant As System.Drawing.Imaging.ImageFormat = > System.Drawing.Imaging.ImageFormat.Bmp > Graphics.Clear(System.Drawing.Color.White)
> For i = 2 To n_point1 > Graphics.DrawLine(System.Drawing.Pens.B lack, New > System.Drawing.Point(x1(i),y1(i)), New System.Drawing.Point(x2(i),y2(i) ) > Next
> PictureBox1.Image = Image
> Et ensuite je voudrait la récupérer pour la modifier, dans une nouv elle > procédure je fait donc un : > Image = PictureBox1.Image pour récupérer l'image > je fait mes rajouts, et je fait un > PictureBox2.Image = Image pour l'afficher
> Voilà la procédure :
> Dim ImageSize As New System.Drawing.Size(300, 200) > Dim Image As System.Drawing.Image = New > System.Drawing.Bitmap(ImageSize.Width, ImageSize.Height) > Dim Graphics As System.Drawing.Graphics = > System.Drawing.Graphics.FromImage(Image) > Dim ImgFormant As System.Drawing.Imaging.ImageFormat = > System.Drawing.Imaging.ImageFormat.Bmp > Graphics.Clear(System.Drawing.Color.White) '// Remplie la couleur de > fond de l'image
> Image = PictureBox1.Image
> Graphics.DrawLine(System.Drawing.Pens.Black, New > System.Drawing.Point(0, 0), New System.Drawing.Point(200, 200))
> PictureBox2.Image = Image
> Le problème c'est que les éléments que je rajoute n'apparaisent p as, seul > l'image d'origine est présente, ou est ce que je fait une erreur ?
> Merci d'avance
> Cordialement
> Stéphane
Bonjour,
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet graphics n'est pas le bon, il faut en recréer un correspondant à la deuxième image.
Stéphane
Merci pour ta réponse.
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet graphics n'est pas le bon, il faut en recréer un correspondant à la deuxième image.
J'ai fait l'éssai en rajoutant le .clone pour l'objet graphics, c'est le même nom dans mes 2 exemples de codes, mais il sont déclaré dans 2 procédure différentes, ce ne sont pas les même. Par acquis de consience, j'ai tout mis dans la même procédure avec une double déclaration de variable : graphics et graphics2 ....
Ca ne change rien, quand je redessine une ligne, cela n'apparait toujours pas.
Cordialement
Merci pour ta réponse.
Essayez de cloner l'image avant de l'affecter à une variable, car en
faisant Image = PictureBox1.Image , c'est une affectation par
référence et non par "valeur", et donc le "flux", de dessin est le
même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet
graphics n'est pas le bon, il faut en recréer un correspondant à la
deuxième image.
J'ai fait l'éssai en rajoutant le .clone
pour l'objet graphics, c'est le même nom dans mes 2 exemples de codes, mais
il sont déclaré dans 2 procédure différentes, ce ne sont pas les même.
Par acquis de consience, j'ai tout mis dans la même procédure avec une
double déclaration de variable : graphics et graphics2 ....
Ca ne change rien, quand je redessine une ligne, cela n'apparait toujours
pas.
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet graphics n'est pas le bon, il faut en recréer un correspondant à la deuxième image.
J'ai fait l'éssai en rajoutant le .clone pour l'objet graphics, c'est le même nom dans mes 2 exemples de codes, mais il sont déclaré dans 2 procédure différentes, ce ne sont pas les même. Par acquis de consience, j'ai tout mis dans la même procédure avec une double déclaration de variable : graphics et graphics2 ....
Ca ne change rien, quand je redessine une ligne, cela n'apparait toujours pas.
Cordialement
Patrice
Dans le code de départ, l'objet Graphics vers lequel on dessine prend une image vierge comme point de départ et ensuite on utilise l'image d'origine sans se préoccuper de ce que l'on vient de dessiner. Si je comprends bien ce que tu veux faire cela donnerait qq chose comme :
Dim img As Image = CType(PictureBox1.Image.Clone, Image) ' Copier l'image de base Dim g As Graphics = Graphics.FromImage(img) ' Créer un outil de dessin sur cette image de base g.DrawLine(Pens.Black, 0, 0, 10, 10) ' Dessiner g.Dispose() ' Clore la phase de dessin PictureBox2.Image = img ' Afficher la nouvelle image
Je soupcçonne une peite incompréhension sur les objets ou l'utilisation du graphics (ce n'est pas parce qu'on change après coup la même variable que celle utilisée précédemment pour créer le "Graphics" que cela change la surface de destination pour les dessins, ce qui compte est la valeur de la valeur au moement de la création du "Graphics").
-- Patrice
"Stéphane" a écrit dans le message de groupe de discussion : ##
Merci pour ta réponse.
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet graphics n'est pas le bon, il faut en recréer un correspondant à la deuxième image.
J'ai fait l'éssai en rajoutant le .clone pour l'objet graphics, c'est le même nom dans mes 2 exemples de codes, mais il sont déclaré dans 2 procédure différentes, ce ne sont pas les même. Par acquis de consience, j'ai tout mis dans la même procédure avec une double déclaration de variable : graphics et graphics2 ....
Ca ne change rien, quand je redessine une ligne, cela n'apparait toujours pas.
Cordialement
Dans le code de départ, l'objet Graphics vers lequel on dessine prend une
image vierge comme point de départ et ensuite on utilise l'image d'origine
sans se préoccuper de ce que l'on vient de dessiner. Si je comprends bien ce
que tu veux faire cela donnerait qq chose comme :
Dim img As Image = CType(PictureBox1.Image.Clone, Image) ' Copier
l'image de base
Dim g As Graphics = Graphics.FromImage(img) ' Créer un outil de
dessin sur cette image de base
g.DrawLine(Pens.Black, 0, 0, 10, 10) ' Dessiner
g.Dispose() ' Clore la phase de dessin
PictureBox2.Image = img ' Afficher la nouvelle image
Je soupcçonne une peite incompréhension sur les objets ou l'utilisation du
graphics (ce n'est pas parce qu'on change après coup la même variable que
celle utilisée précédemment pour créer le "Graphics" que cela change la
surface de destination pour les dessins, ce qui compte est la valeur de la
valeur au moement de la création du "Graphics").
--
Patrice
"Stéphane" <stephane.auboussu@-----nospam----s-g-c.fr> a écrit dans le
message de groupe de discussion : ##YoOibEJHA.4492@TK2MSFTNGP05.phx.gbl...
Merci pour ta réponse.
Essayez de cloner l'image avant de l'affecter à une variable, car en
faisant Image = PictureBox1.Image , c'est une affectation par
référence et non par "valeur", et donc le "flux", de dessin est le
même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet
graphics n'est pas le bon, il faut en recréer un correspondant à la
deuxième image.
J'ai fait l'éssai en rajoutant le .clone
pour l'objet graphics, c'est le même nom dans mes 2 exemples de codes,
mais
il sont déclaré dans 2 procédure différentes, ce ne sont pas les même.
Par acquis de consience, j'ai tout mis dans la même procédure avec une
double déclaration de variable : graphics et graphics2 ....
Ca ne change rien, quand je redessine une ligne, cela n'apparait toujours
pas.
Dans le code de départ, l'objet Graphics vers lequel on dessine prend une image vierge comme point de départ et ensuite on utilise l'image d'origine sans se préoccuper de ce que l'on vient de dessiner. Si je comprends bien ce que tu veux faire cela donnerait qq chose comme :
Dim img As Image = CType(PictureBox1.Image.Clone, Image) ' Copier l'image de base Dim g As Graphics = Graphics.FromImage(img) ' Créer un outil de dessin sur cette image de base g.DrawLine(Pens.Black, 0, 0, 10, 10) ' Dessiner g.Dispose() ' Clore la phase de dessin PictureBox2.Image = img ' Afficher la nouvelle image
Je soupcçonne une peite incompréhension sur les objets ou l'utilisation du graphics (ce n'est pas parce qu'on change après coup la même variable que celle utilisée précédemment pour créer le "Graphics" que cela change la surface de destination pour les dessins, ce qui compte est la valeur de la valeur au moement de la création du "Graphics").
-- Patrice
"Stéphane" a écrit dans le message de groupe de discussion : ##
Merci pour ta réponse.
Essayez de cloner l'image avant de l'affecter à une variable, car en faisant Image = PictureBox1.Image , c'est une affectation par référence et non par "valeur", et donc le "flux", de dessin est le même.
Essayez comme ceci :
Image = PictureBox1.Image.clone
une autre petite chose à laquelle je n'ai pas fait attention : l'objet graphics n'est pas le bon, il faut en recréer un correspondant à la deuxième image.
J'ai fait l'éssai en rajoutant le .clone pour l'objet graphics, c'est le même nom dans mes 2 exemples de codes, mais il sont déclaré dans 2 procédure différentes, ce ne sont pas les même. Par acquis de consience, j'ai tout mis dans la même procédure avec une double déclaration de variable : graphics et graphics2 ....
Ca ne change rien, quand je redessine une ligne, cela n'apparait toujours pas.
Cordialement
Stéphane
Merci, je me doutais bien qu'un truc m'avait échapé.
Merci, je me doutais bien qu'un truc m'avait échapé.