Bonjour,
ce bout de code est (très) lent. Ok il n'est pas optimisé mais tout de même...
J'aimerais connaître les techniques pour dessiner de manière efficace en .net.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 System.Drawing.Graphics gl = Left.CreateGraphics(); System.Drawing.Graphics gr = Right.CreateGraphics(); gl.Clear( System.Drawing.Color.Black ); gr.Clear( System.Drawing.Color.Black ); System.Drawing.Pen p = new System.Drawing.Pen( System.Drawing.Color.Orange ); int h = Left.Height/2; System.Drawing.Point[] ptsl = new System.Drawing.Point[2]; ptsl[0] = new System.Drawing.Point(); ptsl[1] = new System.Drawing.Point(); System.Drawing.Point[] ptsr = new System.Drawing.Point[2]; ptsr[0] = new System.Drawing.Point(); ptsr[1] = new System.Drawing.Point(); int b = 0; for ( uint i = 0; i < size; ++i, b=++b%2 ) { int x = (int)(( (double)i / (double)size ) * Left.Width); int yl = (int)( data[0][i] * h ) + h; int yr = (int)( data[1][i] * h ) + h; ptsl[b].X = x; ptsl[b].Y = yl; ptsr[b].X = x; ptsr[b].Y = yr; if ( i != 0 ) { gl.DrawLine( p, ptsl[b], ptsl[(b + 1) % 2] ); gr.DrawLine( p, ptsr[b], ptsr[(b + 1) % 2] ); } } gl.Dispose(); gr.Dispose();
Partager