Delphi - nákres valca

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
Gumeny
Stály člen
Stály člen
Príspevky: 359
Dátum registrácie: 24 Mar 2010, 00:00
Bydlisko: Prešov, SK
Vek: 28
Kontaktovať používateľa:

Delphi - nákres valca

Príspevok od používateľa Gumeny » 06 Júl 2011, 15:34

Zdravím,
som začiatočník v Delphi a chcem napísať program, ktorý vykresli nákres valca. Ibaže ako podstavu nemôzem použiť len elipsu, keďže jednú časť podstavy vidno a druhú nie (teda je zakreslená čiarkovanou čiarou). Potreboval by som teda vykresliť dve polelipsy, pričom každú iným štýlom - skrátka nákres valca.
0

Používateľov profilový obrázok
Gumeny
Stály člen
Stály člen
Príspevky: 359
Dátum registrácie: 24 Mar 2010, 00:00
Bydlisko: Prešov, SK
Vek: 28
Kontaktovať používateľa:

hotovo

Príspevok od používateľa Gumeny » 08 Júl 2011, 13:49

Už je to vyriešené. Prikladám riešenie, ak by to niekto potreboval a sorry, že to je v sekcii C,C++,C#, ale nevedel som, kde inde to hodiť.

Image1 má rozmery 90x90 pixelov.

Kód: Vybrať všetko

  Image1.Canvas.Pen.Style := psSolid; //nastavíme štýl na neprerušovaný
  Image1.Canvas.Pie( 10, 65, 80, 85, 10, 75, 80, 75 ); //nakreslíme prvú časť podstavy
  Image1.Canvas.Pen.Style := psDot; //nastavíme štýl na bodkovaný...
  Image1.Canvas.Pie( 10, 65, 80, 85, 80, 75, 10, 75 ); //...a nakreslíme druhú časť podstavy
  //cez stred podstavy prechádza ešte jedna nechcená čiara, ktorú prekreslíme bielym perom
  Image1.Canvas.Pen.Style := psSolid;  //nastavíme štýl na neprerušovaný,
  Image1.Canvas.Pen.Color := clWhite; //farbu na bielu
  Image1.Canvas.Pen.Width := 2; //a hrubku na 2
  Image1.Canvas.MoveTo(9,75); //presunieme pero na správne miesto
  Image1.Canvas.LineTo(79,75); //a kreslíme bielu čiaru
  //zvyšok je už myslím pohoda
  Image1.Canvas.Pen.Color := clBlack;
  Image1.Canvas.Pen.Width := 1;
  Image1.Canvas.Pen.Style := psSolid;
  Image1.Canvas.Ellipse(10,5,80,25);
  Image1.Canvas.MoveTo(10,15);
  Image1.Canvas.LineTo(10,75);
  Image1.Canvas.MoveTo(80,15);
  Image1.Canvas.LineTo(80,75);

S pozdravom
Gumeny
Prílohy
nákres valca
nákres valca
0

Napísať odpoveď