CDC::ARC
Rysuje łuk eliptyczny.
BOOL Arc(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3,
int x4,
int y4
);
BOOL Arc(
LPCRECT lpRect,
POINT ptStart,
POINT ptEnd
);
Parametry
x1
Określa współrzędną x lewego górnego rogu prostokąta obwiedni (w jednostkach logicznych).y1
Określa współrzędną y lewego górnego rogu prostokąta obwiedni (w jednostkach logicznych).x2
Określa współrzędną x w prawym dolnym rogu prostokąta obwiedni (w jednostkach logicznych).y2
Określa współrzędną y dolnym rogu prostokąta obwiedni (w jednostkach logicznych).x 3
Określa współrzędną x punktu, który definiuje łuku na początkowy (w jednostkach logicznych).Ten punkt nie musi znajdować się dokładnie na łuku.y3
Określa współrzędną y punktu, który definiuje łuku na początkowy (w jednostkach logicznych).Ten punkt nie musi znajdować się dokładnie na łuku.x4
Określa współrzędną x punktu końcowego łuku (w jednostkach logicznych) definiuje.Ten punkt nie musi znajdować się dokładnie na łuku.y4
Określa współrzędną y punktu końcowego łuku (w jednostkach logicznych) definiuje.Ten punkt nie musi znajdować się dokładnie na łuku.lpRect
Określa prostokąta obwiedni (w jednostkach logicznych).Można przekazywać albo LPRECT lub CRect obiektu dla tego parametru.ptStart
Określa, że - współrzędnych x i y-punktu, który definiuje łuku na początkowy (w jednostkach logicznych).Ten punkt nie musi znajdować się dokładnie na łuku.Można przekazywać albo punkt struktury lub CPoint obiektu dla tego parametru.ptEnd
Określa - współrzędnych x i y-punkt definiujący punktu końcowego łuku (w jednostkach logicznych).Ten punkt nie musi znajdować się dokładnie na łuku.Można przekazywać albo punkt struktury lub CPoint obiektu dla tego parametru.
Wartość zwracana
Niezerowa, jeśli funkcja jest pomyślne; 0 inaczej.
Uwagi
Łuk rysowane przy użyciu funkcji jest segment elipsy zdefiniowane przez określonego prostokąta obwiedni.
Rzeczywiste punktem początkowym łuku jest punkt, w którym ray, od środka obwiedni prostokąta przez określony punkt początkowy przecina elipsy.Rzeczywisty punkt końcowy łuku jest punkt, w którym ray, z Centrum prostokąta obwiedni za pośrednictwem określonego punktu końcowego przecina elipsy.Łuku w wskazówek zegara.Ponieważ łuku nie jest zamknięty rysunek, go nie jest wypełnione.Szerokość i wysokość prostokąta musi być większa niż 2 i jednostek mniej niż 32 767.
Przykład
void CDCView::DrawArc(CDC* pDC)
{
// Fill the client area with a thin circle. The circle's
// interior is not filled. The circle's perimeter is
// blue from 6 o'clock to 3 o'clock and red from 3
// o'clock to 6 o'clock.
// Get the client area.
CRect rectClient;
GetClientRect(rectClient);
// Make a couple of pens.
CPen penBlue;
CPen penRed;
CPen* pOldPen;
penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));
// Draw from 3 o'clock to 6 o'clock, counterclockwise,
// in a blue pen.
pOldPen = pDC->SelectObject(&penBlue);
pDC->Arc(rectClient,
CPoint(rectClient.right, rectClient.CenterPoint().y),
CPoint(rectClient.CenterPoint().x, rectClient.right));
// Draw from 6 o'clock to 3 o'clock, counterclockwise,
// in a red pen.
pDC->SelectObject(&penRed);
// Keep the same parameters, but reverse start
// and end points.
pDC->Arc(rectClient,
CPoint(rectClient.CenterPoint().x, rectClient.right),
CPoint(rectClient.right, rectClient.CenterPoint().y));
// Restore the previous pen.
pDC->SelectObject(pOldPen);
}
Wymagania
Nagłówek: afxwin.h