線條和曲線的反鋸齒功能
當您使用 GDI+ 繪製線條時,您會提供線條的起點和終點,但不需要提供線條上個別圖元的任何資訊。 GDI+ 可與顯示驅動程式軟體搭配運作,以判斷將開啟哪些圖元,以顯示特定顯示裝置上的線條。
別名
請考慮從點 (4, 2) 到點 (16, 10) 的直線紅色線。 假設座標系統在左上角有其原點,而測量單位是圖元。 也假設 X 軸指向右邊,而 y 軸會向下點。 下圖顯示多色背景上繪製之紅線的放大檢視。
用來呈現線條的紅色圖元不透明。 這一行中沒有部分透明圖元。 這種類型的線條轉譯讓線條看起來不雅,線條看起來有點像樓梯。 這種以樓梯代表線條的技術稱為鋸齒:樓梯是理論線的別名。
反鋸齒
轉譯線條的更複雜技術牽涉到使用部分透明圖元以及不透明圖元。 圖元會設定為純紅色,或設定為紅色和背景色彩的一些混合,視它們與線條的距離而定。 這種類型的轉譯稱為反鋸齒,並導致人眼認為更平滑的線條。 下圖顯示特定圖元如何與背景混合,以產生反鋸齒線。
反鋸齒,也稱為平滑化,也可以套用至曲線。 下圖顯示平滑橢圓形的放大檢視。
下圖顯示其實際大小的相同橢圓形,一次沒有抗鋸齒,一次使用反鋸齒。
若要繪製使用反鋸齒的線條和曲線,請建立 類別的 Graphics 實例,並將其 屬性設定 SmoothingMode 為 AntiAlias 或 HighQuality 。 然後呼叫同一類別 Graphics 的其中一個繪圖方法。
myGraphics.SmoothingMode = SmoothingMode.AntiAlias;
myGraphics.DrawLine(myPen, 0, 0, 12, 8);
myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應