Satır
Çizgi, bir raster ekranında (veya yazdırılan sayfadaki nokta kümesinde) iki noktayla tanımlanan vurgulanmış piksel kümesidir: başlangıç noktası ve bitiş noktası. Başlangıç noktasında bulunan piksel her zaman çizgiye dahil edilir ve bitiş noktasında bulunan piksel her zaman dışlanır. (Bu tür bir satır bazen kapsayıcı-özel olarak adlandırılır.)
Bir uygulama çizgi çizme işlevlerinden birini, grafik cihaz arabirimini (GDI) veya bazı durumlarda bir cihaz sürücüsünü çağırdığında, hangi piksellerin vurgulanması gerektiğini belirler. GDI, bir uygulamadan gelen grafik işlev çağrılarını işleyen ve bu çağrıları bir cihaz sürücüsüne geçiren dinamik bağlantı kitaplığıdır (DLL). Cihaz sürücüsü, GDI'dan giriş alan, girişi cihaz komutlarına dönüştüren ve bu komutları uygun cihaza geçiren bir DLL'dir. GDI, bir çizgi tanımlayan piksel kümesini belirlemek için dijital diferansiyel çözümleyici (DDA) kullanır. DDA, çizgideki her noktayı inceleyerek ve noktalara karşılık gelen ekran yüzeyindeki (veya yazdırılan sayfadaki noktalardaki) pikselleri tanımlayarak piksel kümesini belirler. Aşağıdaki çizimde basit bir DDA kullanılarak vurgulanan bir çizgi, başlangıç noktası, bitiş noktası ve pikseller gösterilmektedir.
En basit ve en yaygın DDA, Bresenham veya artımlı DDA'dır. Bu algoritmanın değiştirilmiş bir sürümü, Windows'ta çizgiler çizer. Artımlı DDA basitliği ile not edilir, ancak yanlışlığıyla da not edilir. En yakın tamsayı değerine yuvarladığı için, bazen uygulama tarafından istenen özgün satırı temsil etmede başarısız olur. GDI tarafından kullanılan DDA, en yakın tamsayıya yuvarlamaz. Sonuç olarak, bu yeni DDA bazen uygulama tarafından istenen özgün satıra çok daha yakın bir çıkış üretir.
Not
Bir uygulama yeni DDA ile ulaşılamayan bir satır çıktısı gerektiriyorsa, LineDDA işlevini çağırarak ve özel bir DDA (LineDDAProc) sağlayarak kendi çizgilerini çizebilir. Ancak, LineDDA işlevi çizgileri çizgi çizim işlevlerinden çok daha yavaş çizer. Hız birincil sorunsa, bu işlevi bir uygulama içinde kullanmayın.
Bir uygulama, tek çizgiler ve birden çok bağlı çizgi kesimi çizmek için yeni DDA'yı kullanabilir. Bir uygulama, LineTo işlevini çağırarak tek bir çizgi çizebilir. Bu işlev, geçerli konumdan belirtilen bitiş noktasına kadar bir çizgi çizer, ancak bunu dahil etmemektedir. Bir uygulama, Polyline işlevini çağırarak, her satır kesiminin bitiş noktasını belirten bir nokta dizisi sağlayarak bir dizi bağlı çizgi kesimi çizebilir. Bir uygulama, PolyPolyline işlevini çağırarak, gerekli bitiş noktalarını sağlayarak birden çok, kopuk bağlı çizgi kesimi serisi çizebilir.
Aşağıdaki çizimde, LineTo, Polylineve PolyPolyline işlevleri çağrılarak oluşturulan satır çıktısı gösterilmektedir.
Düz çizgi, "l" şeklindeki kutu ve üç boyutluçizim