Sorok
A vonal egy raszterkijelölésen (vagy nyomtatott oldalon lévő pontokon) lévő kiemelt képpontok halmaza, amelyet két pont határoz meg: egy kiindulási pont és egy végpont. A kezdőponton található képpont mindig szerepel a sorban, és a végponton található képpont mindig ki van zárva. (Ezt a sort néha befogadó-kizárólagosnak is nevezik.)
Amikor egy alkalmazás meghívja az egyik vonalrajzfüggvényt, grafikus eszközillesztőt (GDI) vagy bizonyos esetekben egy eszközillesztőt, meghatározza, hogy mely képpontokat kell kiemelni. A GDI egy dinamikus csatolású kódtár (DLL), amely egy alkalmazás grafikus függvényhívásait dolgozza fel, és átadja ezeket a hívásokat egy eszközillesztőnek. Az eszközillesztők olyan DLL-fájlok, amelyek bemenetet fogadnak a GDI-ből, átalakítják a bemenetet eszközparancsokká, és átadják ezeket a parancsokat a megfelelő eszköznek. A GDI egy digitális differenciálelemzővel (DDA) határozza meg a vonalat meghatározó képpontkészletet. A DDA úgy határozza meg a képpontkészletet, hogy megvizsgálja a vonal egyes pontjait, és azonosítja a pontoknak megfelelő képpontokat a megjelenítési felületen (vagy a nyomtatott oldalon lévő pontokon). Az alábbi ábrán egy vonal, a kiindulási pont, a végpont és az egyszerű DDA használatával kiemelt képpontok láthatók.
A legegyszerűbb és leggyakoribb DDA a Bresenham, vagy növekményes DDA. Az algoritmus módosított verziója vonalakat rajzol a Windowsban. A növekményes DDA-t az egyszerűség kedvéért jegyezzük fel, de a pontatlanságára is utal. Mivel a legközelebbi egész számra kerekít, néha nem felel meg az alkalmazás által kért eredeti sornak. A GDI által használt DDA nem kerekül le a legközelebbi egész számra. Ennek eredményeképpen ez az új DDA olyan kimenetet hoz létre, amely néha sokkal közelebb áll az alkalmazás által kért eredeti sorhoz.
Jegyzet
Ha egy alkalmazás olyan sorkimenetet igényel, amely nem érhető el az új DDA-val, saját vonalakat rajzolhat a LineDDA függvény meghívásával és egy privát DDA (LineDDAProc) biztosításával. A LineDDA függvény azonban sokkal lassabban rajzol vonalakat, mint a vonalrajzoló függvények. Ne használja ezt a függvényt egy alkalmazásban, ha a sebesség elsődleges szempont.
Egy alkalmazás az új DDA használatával rajzolhat egysoros és több csatlakoztatott vonalszegmenst. Egy alkalmazás egyetlen sort rajzolhat a LineTo függvény meghívásával. Ez a függvény egy vonalat rajzol az aktuális pozíciótól a megadott végpontig, de nem tartalmazza azt. Az alkalmazások a Polyline függvény meghívásával több csatlakoztatott vonalszakaszt is megrajzolhatnak, amelyek az egyes sorszegmensek végpontját megadják. Egy alkalmazás több, egymástól különálló vonalszakaszt rajzolhat a PolyPolyline függvény meghívásával, a szükséges végpontok megadásával.
Az alábbi ábrán az LineTo, Polylineés PolyPolyline függvény meghívásával létrehozott sorkimenet látható.