VisualBrush画刷

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

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

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

  • 若要通过 Visual 进行绘制,请使用 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 (贴墙或铺地用的)瓷砖,地砖,小方地毯,片状材料

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属性,枚举值,该属性指定小面片 如何填充目标区域

 

 

 

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

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值