WPF中ImageBrush常用方式介绍

 更新时间:2022年06月28日 11:20:47   作者:天方  
这篇文章介绍了WPF中ImageBrush的常用方式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

WPF的ImageBrush是一个比较常见也比较复杂的笔刷,它继承自图块笔刷(TileBrush)。使用图块画笔绘制区域涉及以下三个组成部分:内容、基本图块和输出区域。基本输出过程如下图所示:

其中,图块部分有Viewbox控制,输出区域有Viewport控制,它们默认情况下都是一个(0,0,1,1)的矩形,通过相对位置控制图象的输出。可以组合使用,下表就是一些简单的示例:

Viewport="0,0,0.5,0.5"

Viewbox="0,0,0.5,0.5"

Viewport="0,0,0.5,0.5" Viewbox="0,0,0.5,0.5"

默认情况下,Viewport和Viewbox都是使用的相对范围,默认是(0,0,1,1)。如果要设置绝对范围,可以设置ViewboxUnits="Absolute"ViewportUnits="Absolute"

平铺笔刷

有时我们需要像墙纸那样讲一个图片重复绘制,如下图所示

简单的方法是

  • 设置Viewport,使得原图只投影到一部分输出区域(投影到全部输出区域看不到平铺效果)
  • 设置TileMode为Tile

Viewport="0,0,0.5,0.5" Viewbox="0,0,0.5,0.5" TileMode="Tile"

TileMode="FlipX"

TileMode="FlipY"

TileMode="FlipXY"

另外,还有一些比较常见的属性:AlignmentXAlignmentYStretch。这里就不一一介绍了,具体可参看MSDN文档:

https://msdn.microsoft.com/zh-cn/library/aa970682(v=vs.110).aspx

到此这篇关于WPF中ImageBrush常用方式的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用winapi安装Windows服务示例程序

    使用winapi安装Windows服务示例程序

    这篇文章主要介绍了使用winapi安装Windows服务示例,大家参考使用吧
    2014-01-01
  • C#使用TensorFlow.NET训练自己的数据集的方法

    C#使用TensorFlow.NET训练自己的数据集的方法

    这篇文章主要介绍了C#使用TensorFlow.NET训练自己的数据集的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • C#读取与写入txt文件内容的实现方法

    C#读取与写入txt文件内容的实现方法

    在 C# 中读取和写入文本文件内容是一个常见的任务,本文主要介绍了使用几种不同方法读取和写入文本文件的示例,并通过代码示例介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-08-08
  • C#语言async await之迭代器工作原理示例解析

    C#语言async await之迭代器工作原理示例解析

    这篇文章主要为大家介绍了C#语言async await之迭代器工作原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • C#写差异文件备份工具的示例

    C#写差异文件备份工具的示例

    这篇文章主要介绍了C#写差异文件备份工具的示例,帮助大家利用c#备份,管理文件,感兴趣的朋友可以了解下
    2020-10-10
  • Unity实现物体跟随鼠标移动

    Unity实现物体跟随鼠标移动

    这篇文章主要为大家详细介绍了Unity实现物体跟随鼠标移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 详解C#的排列组合

    详解C#的排列组合

    本文详细介绍了C#中的排列组合以及具体实现代码,如下所示,希望对大家有所帮助
    2016-11-11
  • c# Rank属性与GetUpperBound方法的深入分析

    c# Rank属性与GetUpperBound方法的深入分析

    本篇文章是对c#中的Rank属性与GetUpperBound方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • c# 使用线程对串口serialPort进行收发数据(四种)

    c# 使用线程对串口serialPort进行收发数据(四种)

    本文主要介绍了c# 使用线程对串口serialPort进行收发数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • C#实现电脑麦克风录音

    C#实现电脑麦克风录音

    这篇文章主要为大家详细介绍了C#实现电脑麦克风录音,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论