VisualBrush派生于TileBrush,TileBrush可以用来重复填充目标区域,

  • 若要使用图像进行绘制,请使用 ImageBrush

  • 若要通过绘图绘制,请使用 DrawingBrush

  • 若要通过 Visual 进行绘制,请使用 VisualBrush

VisualBrush画刷

 

一幅图案填充到目标区域,分别有以下两步骤:

1、从画刷的内容投射到一个小面片(Tile);

2、把小面片投射到目标区域;

注:Tile的牛津词典翻译:a flat, usually square, piece of baked clay , carpet or other material that is used in rows for covering walls and floors (贴墙或铺地用的)瓷砖,地砖,小方地毯,片状材料

VisualBrush画刷

ImageBrush通过ImageSource属性指定画刷的内容;

DrawingBrush通过Drawing属性指定画刷的内容;

VisualBrush通过Visual属性指定画刷的内容;

 

TileBrush有如下属性,用来指定画刷内容如何映射到小面片(Tile)中。

1、Stretch属性,该属性控制如何将TileBrush的内容拉伸以填充基本图块。 Stretch属性接受以下值,通过定义Stretch枚举:

  • None:画笔的内容未拉伸以填充磁贴。

  • Fill:画笔的内容进行缩放以适合图块。 由于内容的高度和宽度独立进行缩放,因此内容的原始纵横比可能不会保留。 也就是说,为了完全填充输出图块,画笔的内容可能会弯曲。

  • Uniform:缩放画笔的内容,使其完全符合该磁贴。 内容的纵横比会保留。

  • UniformToFill:缩放画笔的内容,使其在保留内容的原始纵横比的同时完全填充输出区域。

2、Viewbox属性,指定映射到小面片中的画刷内容的位置和尺寸。 默认值为矩形 (Rect),其 TopLeft 为 (0,0),WidthHeight 为 1,默认使用相对坐标ViewboxUnitsRelativeToBoundingBox,表示将画刷的全部内容映射到小面片上,如果viewbox为(0,0,0.5,0.5),则表示左上角1/4部分映射到小面片上。
 

3、Viewport属性,该属性可以指定小面片映射到目标区域的哪一个部分,并ViewportUnits属性确定是否Viewport使用绝对或相对坐标指定。 如果坐标是相对坐标,则它们相对于输出区域的大小。 点 (0,0) 表示输出区域的左上角,(1,1) 表示输出区域的右下角。 若要指定的Viewport属性使用绝对坐标,设置ViewportUnits属性设置为Absolute

4、TileMode属性,枚举值,该属性指定小面片 如何填充目标区域

 

VisualBrush画刷

 

 

参考:https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/graphics-multimedia/tilebrush-overview?redirectedfrom=MSDN

 

 

 

 

 

 

相关文章:

  • 2021-08-15
  • 2022-12-23
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-25
  • 2021-07-06
  • 2022-12-23
  • 2022-03-02
  • 2021-06-09
  • 2021-10-07
  • 2021-12-03
相关资源
相似解决方案