GETIMAGE..PUTIMAGE en C# ?
Bonjour à tous
je voudrais pouvoir déplacer une figure à l'aide de la souris sans effacer les autres figures dans un panel.
j'ai essayé l'évènement "Paint" du panel pour redéssiner les autres figures mais celui ci réagi à chaque mouvement de la souris pour chaque déplacement d'un pixel à l'autre et donc le scintillement est vraiment visible.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
class GrphPannel :System.Windows.Forms.Panel
{
//je mémorise mes lignes dans : lines
public List<GRcontrol.Line> lines = new List<GRcontrol.Line>();
public Point start, end;
public bool draw = false;
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
foreach (GRcontrol.Line line in this.lines)// redessiner les lignes
{
g.DrawLine(Pens.Blue, line.Start, line.End);
}
if (this.draw)//si je dessine une nouvelle ligne c'est en rouge
{
g.DrawLine(Pens.Red, this.start, this.end);
}
//c'est trops long.....je ne doit pas redéssiner sauf si je découvre une partie de mes dessins
}
} |
dans le cas d'un grand nombre de figures sur l'écran je crois qu'il faut copier l'image et puis la redéssine
C# permet l'utilisation des pointeurs (pour plus de rapidité) comment faut t'il faire une chose comme : GETIMAGE.....PUTIMAGE ??