共用方式為


線條是點陣顯示器上醒目提示的圖元集(或列印頁面上的一組點),由兩個點識別:起點和終點。 位於起點的圖元一律包含在線條中,而位於終點的圖元一律會排除。 (這種線路有時稱為包容性獨佔。

當應用程式呼叫其中一個線條繪製函式、圖形裝置介面 (GDI),或在某些情況下,設備驅動器會決定應該反白顯示哪些圖元。 GDI 是動態連結庫 (DLL),可處理來自應用程式的圖形函式呼叫,並將這些呼叫傳遞至設備驅動器。 設備驅動器是一種 DLL,可從 GDI 接收輸入、將輸入轉換成裝置命令,並將這些命令傳遞至適當的裝置。 GDI 會使用數位差異分析器 (DDA) 來判斷定義線條的圖元集。 DDA 會檢查線條上的每一個點,並識別對應至點的顯示介面上(或列印頁面上的點)上的圖元,以決定圖元集。 下圖顯示一行、其起點、結束點,以及使用簡單 DDA 醒目提示的圖元。

圖顯示沿著線條的圖元網格線、起點和終點、線條和底紋

最簡單的和最常見的 DDA 是 Bresenham,或累加的 DDA。 此演算法的修改版本會在 Windows 中繪製線條。 累加式 DDA 是為了簡單起見,但也指出其不透明度。 因為它四捨五入到最接近的整數值,所以有時無法代表應用程式所要求的原始行。 GDI 所使用的 DDA 不會四捨五入為最接近的整數。 因此,這個新的 DDA 會產生輸出,其外觀有時更接近應用程式所要求的原始行。

注意

如果應用程式需要無法透過新的 DDA 達成行輸出,它可以藉由呼叫 LineDDA 函式並提供私人 DDA (LineDDAProc來繪製自己的線條。 不過,LineDDA 函式繪製線條的速度比線條繪製函式慢得多。 如果速度是主要考慮,請勿在應用程式內使用此函式。

 

應用程式可以使用新的 DDA 來繪製單行和多個連接線段。 應用程式可以呼叫 LineTo 函式來繪製單行。 此函式會從目前的位置繪製一條線,但不包括指定的結束點。 應用程式可以呼叫 Polyline 函式來繪製一系列連接的線段,並提供指定每個線段結束點的點陣列。 應用程式可以藉由呼叫 PolyPolyline 函式,提供所需的終點,繪製多個脫離的連線線段。

下圖顯示呼叫 LineToPolylinePolyPolyline 函式所建立的行輸出。

圖例顯示直線、“l”形方塊,以及顯示三維 的兩個圖形