建立可平鋪的斜紋背景材質:
繪製最小圖元 (6x6 像素) 並重複:

<DrawingBrush x:Key="PicTwillBrush" Stretch="Fill" TileMode="Tile"
Viewport="0,0,6,6" ViewportUnits="Absolute">
<DrawingBrush.Drawing>
<ImageDrawing ImageSource="Textures/Twill.png" Rect="0,0,6,6"/>
</DrawingBrush.Drawing>
</DrawingBrush>
使用 Viewbox 放大時出現明顯方塊邊界:

原因:WPF 獨立渲染每個 Tile,雙線性過濾導致邊界模糊。此為已知渲染行為 (可視為 Bug)。
將單像素線條改為雙像素寬度,減少邊界對比:

視覺改善約 50%:
經驗法則:材質設計優先使用邊緣銜接,避免角落銜接。

問題:線條端點非垂直,平鋪後不連續。
兩種寫法自行評估優劣:

<StreamGeometry x:Key="SimpleTwill">M3,0 L4,0 0,4 0,3 Z M3,6 L4,6 6,4 6,3 Z</StreamGeometry>
<StreamGeometry x:Key="BestTwill">M2.5,0 L3.5,0 0,3.5 0,2.5Z M2.5,6 L3.5,6 6,3.5 6,2.5 Z</StreamGeometry>

放大檢視:
向量圖最終仍需光柵化,座標若未落在像素中心會產生反鋸齒模糊。SnapsToDevicePixels 無法解決此類平鋪渲染問題。
手工編寫座標落在整數像素格:

<StreamGeometry x:Key="PixelTwill">
M0,2 L1,2 1,3 0,3 Z
M1,1 L2,1 2,2 1,2 Z
M2,0 L3,0 3,1 2,1 Z
M3,5 L4,5 4,6 3,6 Z
M4,4 L5,4 5,5 4,5 Z
M5,3 L6,3 6,4 5,4 Z
</StreamGeometry>
| 場景 | 建議方案 |
|---|---|
| 不需縮放、追求像素完美 | 位圖 (PNG) + 邊緣銜接設計 |
| 需縮放、簡單幾何圖形 | 向量圖 + 像素對齊座標 |
| 複雜向量圖作背景 | 預先光柵化為位圖再使用 |
下一篇將介紹常見導致 WPF 圖形模糊的原因與解決方案。