Avatar
matesax
Redaktor
Avatar
matesax:

Dobrý den,
co potřebuji se dá přirovnat k vykreslování lissajousových obrazců. (abyste měli představu). Tak jsem si zvolil Graphics Path. Pole bodů samozřejmě není problém - proto jsem si také Graphics Path vybral. Mám ale problém s parametrem pole bytů. Udělal jsem výčet:

public enum PathPointType
{
    Start = 0,
    Line = 1,
    Bezier = 3,
    Bezier3 = 3,
    PathTypeMask = 7,
    DashMode = 16,
    PathMarker = 32,
    CloseSubpath = 128
}

A vytvořil pole:

byte[] types = new byte[2] { (byte) PathPointType.Start, (byte) PathPointType.Line };

Ovšem to mi není bráno - teprve začínám, proto to má jen 2 prvky. Chtěl jsem jen zjistit, jak to funguje - jen něco vykreslit - cokoliv - pak už bych to snad zvládl sám...

Tak mi buďto pomozte s tímto, nebo navrhněte lepší řešení (nevím, jestli na to jdu správně). Děkuji.

 
Odpovědět 19.8.2012 17:36
Avatar
matesax
Redaktor
Avatar
matesax:

Smazal jsem výčet a použil System.Drawin­g.Drawing2D - moc jsem se do toho zamotal. Problém ale setrvává - nic se nevykreslí.

Point[] points = new Point[2] { new Point(0, 0), new Point(20, 20) };
byte[] types = new byte[2] { (byte) PathPointType.Start, (byte) PathPointType.Line };
Image figures = new Bitmap(414, 414);

Graphics plot = Graphics.FromImage(figures);

plot.DrawPath(new Pen(new SolidBrush(Color.AliceBlue), 2), new GraphicsPath(points, types));

return figures;
 
Nahoru Odpovědět 19.8.2012 17:50
Avatar
matesax
Redaktor
Avatar
Odpovídá na matesax
matesax:

Pardon - chyba byla v barvě - příliš světlá a tak jsem nevyděl výsledek. Omlouvám se za zbytečné téma...

 
Nahoru Odpovědět 19.8.2012 19:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.