Sector
Verze z 4. 10. 2012, 17:01, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Unit Graph)
Nakreslí a vyplní eliptický sektor (výseč).
- Deklarace
procedure Sector(x, y: Integer; StAngle,EndAngle, XRadius, YRadius: Word);
- Režim
- Reálný, Chráněný
- Poznámky
- Bod (X, Y) je střed, XRadius a YRadius určují horizontální, resp. vertikální poloměr; Sector kreslí od úhlu StAngle do úhlu EndAngle obrys aktuální barvou a vyplní ho vzorkem a barvou, definovanými pomocí SetFillStyle nebo SetFillPattern.
- Pro počáteční úhel 0 a koncový úhel 360 vykreslí procedura celou elipsu. Úhly u Arc, Ellipse, FillEllipse, PieSlice a Sector se měří proti směru hodinových ručiček, přičemž 0 stupňů je v poloze "tři hodiny", 90 stupňů v poloze "dvanáct hodin" atd.
- Dojde-li během vyplňování sektoru k chybě, GraphResult vrátí hodnotu grNoScanMem.
- Omezení
- Je nutno být v grafickém režimu.
- Viz také
- Arc
Vzorový příklad
{Sector.PAS} {Vzorový příklad pro proceduru Sector.} uses Graph; const R = 50; var Driver, Mode: Integer; Xasp, Yasp: Word; begin Driver := Detect;{ Přepnutí do grafického režimu } InitGraph(Driver, Mode, ' '); if GraphResult < 0 then Halt(1); Sector(GetMaxX div 2, GetMaxY div 2, 0, 45, R, R); GetAspectRatio(Xasp, Yasp);{ Kreslení kruhového sektoru } Sector(GetMaxX div 2, GetMaxY div 2,{ Střed } 180, 135,{ Zrcadlový obraz předchozího } R, R * Longint(Xasp) div Yasp);{ Kruhový sektor } Readln; CloseGraph; end.