在 Photoshop 中编辑图片时,图片的透明部分会显示为灰白相间的棋盘格(马赛克)图案。这种棋盘格图案并不是图片的内容,而是 Photoshop 用来表示透明区域的一种显示方式。通过棋盘格,可以帮助用户区分图像的透明区域和非透明区域。
如果想在 Avalonia UI 中将棋盘格作为控件背景,除了使用预先准备好的位图,也可以使用 DrawingBrush 实现(以下代码需要放在 Resurces
标签中)。
<DrawingBrush TileMode="Tile" Stretch="None" DestinationRect="0 0 10 10" x:Key="CheckerboardBrush"> <DrawingBrush.Drawing> <DrawingGroup> <GeometryDrawing Brush="LightGray"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="0,0,10,10" /> </GeometryDrawing.Geometry> </GeometryDrawing> <GeometryDrawing Brush="LightGray"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="10,10,10,10" /> </GeometryDrawing.Geometry> </GeometryDrawing> <GeometryDrawing Brush="DarkGray"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="10,0,10,10" /> </GeometryDrawing.Geometry> </GeometryDrawing> <GeometryDrawing Brush="DarkGray"> <GeometryDrawing.Geometry> <RectangleGeometry Rect="0,10,10,10" /> </GeometryDrawing.Geometry> </GeometryDrawing> </DrawingGroup> </DrawingBrush.Drawing> </DrawingBrush>
使用方式如下:
<Border Background="{StaticResource CheckerboardBrush}"> <!-- 其他控件 --> </Border>
展示效果如图所示:
![](https://www.coderbusy.com/wp-content/uploads/2024/07/9bb6a7beb932375.png)