martedì 23 aprile 2013

How To: Draw Berzier

Se non si nota.. sto facendo qualche lavoretto in grafica ( molto per gioco più che per lavoro ) e mi sto pure divertendo .. ammetto che non si tratta di un lavorone, ma di una realizzazione ad-hoc per un amico.

Ci sto provando gusto ...

Posto il non sapere se avete letto o meno il post precedente pubblico in questo le stesse definizioni di prima:

    Graphics g = Graphics.FromImage(img);

    Random r = new Random(
        DateTime.Now.Millisecond + DateTime.Now.Second);    
    
    int x = r.Next(img.Width);
    int y = r.Next(img.Height);

    int x1 = r.Next(img.Width);
    int y1 = r.Next(img.Height);

    int x2 = r.Next(img.Width);
    int y2 = r.Next(img.Height);

    int x3 = r.Next(img.Width);
    int y3 = r.Next(img.Height);

    _Pencil = Color.FromArgb(120, 
                    _Pencil.R, 
                    _Pencil.B, 
                    _Pencil.G);

    Pen p = new Pen(_Pencil, caliber);

    g.DrawBezier(p, 
                    new Point(x, y), 
                    new Point(x1, y1), 
                    new Point(x2, y2), 
                    new Point(x3, y3));

    p = null;

g è il mio oggetto graphics
r è un numero random (....)
_pencil è un oggetto pen ( nel codice ho volutamente messo il blu nel green perchè è in un loop )
_caliber è lo spessore della penna.

per utilizzare i berzier servono minimo 4 punti ... se provate con 3 o con 2 .. non vi portate a casa risultati.


Nessun commento: