Řádky
Čára je sada zvýrazněných pixelů na rastrovém zobrazení (nebo množina bodů na vytištěné stránce) identifikovaná dvěma body: počátečním bodem a koncovým bodem. Pixel umístěný v počátečním bodě je vždy součástí čáry a pixel umístěný v koncovém bodě je vždy vyloučen. (Tento druh řádku se někdy nazývá inclusive-exclusive.)
Když aplikace volá některou z funkcí kreslení čar, rozhraní grafického zařízení (GDI) nebo v některých případech ovladač zařízení určuje, které pixely by se měly zvýraznit. GDI je dynamická knihovna (DLL), která zpracovává volání grafických funkcí z aplikace a předává tato volání ovladači zařízení. Ovladač zařízení je knihovna DLL, která přijímá vstup z GDI, převádí vstup na příkazy zařízení a předává tyto příkazy do příslušného zařízení. GDI používá digitální rozdílový analyzátor (DDA) k určení sady pixelů, které definují čáru. DDA určuje sadu pixelů prozkoumáním každého bodu na spojnici a identifikací těchto pixelů na ploše displeje (nebo tečky na vytištěné stránce), které odpovídají bodům. Následující obrázek znázorňuje čáru, její počáteční bod, koncový bod a pixely zvýrazněné pomocí jednoduchého DDA.
Nejjednodušší a nejběžnější DDA je Bresenham, neboli přírůstkové DDA. Upravená verze tohoto algoritmu nakreslí čáry ve Windows. Přírůstková hodnota DDA je uvedena pro jednoduchost, ale je také zaznamenána za nepřesnost. Vzhledem k tomu, že se zaokrouhlí na nejbližší celočíselnou hodnotu, někdy se nepodaří reprezentovat původní řádek požadovaný aplikací. DDA používaný GDI nezaokrouhluje na nejbližší celé číslo. Výsledkem tohoto nového DDA je výstup, který je někdy mnohem blíže původnímu řádku požadovanému aplikací.
Poznámka
Pokud aplikace vyžaduje výstup řádku, který nelze dosáhnout pomocí nového DDA, může nakreslit vlastní čáry voláním LineDDA funkce a zadáním privátní DDA (LineDDAProc). Funkce LineDDA však nakreslí čáry mnohem pomaleji než funkce kreslení čar. Tuto funkci nepoužívejte v aplikaci, pokud je rychlost primárním zájmem.
Aplikace může pomocí nového DDA nakreslit jednotlivé čáry a více propojených segmentů čar. Aplikace může nakreslit jednu čáru voláním funkce LineTo. Tato funkce nakreslí čáru z aktuální pozice nahoru, ale nezahrnuje zadaný koncový bod. Aplikace může nakreslit řadu propojených segmentů čar voláním polyline funkce, která poskytuje pole bodů, které určují koncový bod každého segmentu čáry. Aplikace může nakreslit více nesouvisenou řadu propojených segmentů čar voláním PolyPolyline funkce poskytující požadované koncové body.
Následující obrázek znázorňuje výstup řádku vytvořený voláním LineTo, Polylinea PolyPolyline funkcí.