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"

?

平铺笔刷

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

简单的方法是

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


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



TileMode="FlipX"



TileMode="FlipY"



TileMode="FlipXY"

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

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

时间: 2024-08-01 14:02:59

WPF中的ImageBrush常用方式的相关文章

WPF中的一些常用类型转换

原文:WPF中的一些常用类型转换 1.string和Color的转换: //string转Color (Color)ColorConverter.ConvertFromString((string)str); //Color转string ((Color)value).ToString(); 2.string和Brush的转换: //string转Brush Brush color = new SolidColorBrush((Color)ColorConverter.ConvertFromSt

jmeter获取响应数据中参数值的常用方式(JSON提取器 、正则表达式提取器 、XPath提取器 、Bean Shell PostProcessor)

JSON提取器: XPath提取器: 返回数据格式是HTML的时候,选择使用此种方式. 正则表达式提取器: 图中Field to check勾选的是Response Headers,获取的是请求头里的参数值. Bean Shell PostProcessor脚本获取方式: 原文地址:https://www.cnblogs.com/zeqi666/p/10245454.html

WPF 中的 Pack URI地(资源文件加载)

参考资源网http://msdn.microsoft.com/zh-cn/library/aa970069.aspx#Absolute_vs_Relative_Pack_URIs 在 Windows Presentation Foundation (WPF) 中,使用统一资源标识符 (URI) 标识和加载文件的方式有很多,包括: 指定当应用程序第一次启动时显示的用户界面 (UI). 加载图像. 导航到页 加载不可执行的数据文件. 此外,可以使用 URI 标识和加载位于各种位置的文件,这些位置包括

MVVM模式解析和在WPF中的实现(一)

MVVM模式简介 MVVM是Model.View.ViewModel的简写,这种模式的引入就是使用ViewModel来降低View和Model的耦合,说是降低View和Model的耦合.也可以说是是降低界面和逻辑的耦合,理想情况下界面和逻辑是完全分离的,单方面更改界面时不需要对逻辑代码改动,同样的逻辑代码更改时也不需要更改界面.同一个ViewModel可以使用完全不用的View进行展示,同一个View也可以使用不同的ViewModel以提供不同的操作. 1.Model Model就是一个clas

WPF中的文本度量

关于WPF中的文本度量,需要了解以下几个问题: WPF中支持一些常用的度量单位:px(device independent pixels).in(inches).cm(centimeters).pt(points) 缺省的单位是px,当然也可以通过加单位来强制使用该单位.比如: 设备无关像素和物理像素: 1 deveice independent pixel = 1/96 inch 1 physical pixel = 1/DPI inch 默认情况下,系统DPI为96,此时设备无关像素与物理像

WPF中使用文件浏览对话框的几种方式

原文:WPF中使用文件浏览对话框的几种方式 WPF本身并没有为我们提供文件浏览的控件, 也不能直接使用Forms中的控件,而文件浏览对话框又是我们最常用的控件之一. 下面是我实现的方式 方式1: 使用win32控件OpenFileDialog ? 1 2 3 4 5 6 7 Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.DefaultExt = ".xml"; ofd.Fil

深入WPF中的图像画刷(ImageBrush)之1——ImageBrush使用举例

原文:深入WPF中的图像画刷(ImageBrush)之1--ImageBrush使用举例 昨天我在<简述WPF中的画刷(Brush)??>中简要介绍了WPF中的画刷的使用.现在接着深入研究一下其中的ImageBrush. 如上文所述,ImageBrush是一种TileBrush,它使用ImageSource属性来定义图像作为画刷的绘制内容.你可以控制图像的缩放.对齐.铺设方式.ImageBrush可用于绘制形状.控件,文本等. 下面看看它的一些简单应用:首先看一下效果图片:先看看上图的左边部分

UI进阶--iOS中的数据存储常用方式

iOS中的数据存储常用方式: 1.xml属性列表(plist): 2.preference偏好设置; 3.NSKeyedArchiver归档(需要遵守NSCodeing协议); 4.SQLite 3; 5.Core Data; ...... 应用沙盒: 每个iOS应用都有?己的应?沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应?必须待在?己的沙盒里,其他应用不能访问该沙盒(提示:在IOS8中已经开放访问) 应?沙盒的文件系统?录,如下图所示(假设应用的名称叫Layer) 模拟器应?用沙

正确处理WPF中Slider值改变事件的方式

最近在用WPF数据绑定重写一下播放器项目时遇到的关于Slider的问题,在窗体透明度调节和播放进度调节上用了Slider控件.调节窗体透明度我是 这么想的:将窗体的Opacity属性的值与Slider的值绑定不就可以了,Opacity="{Binding ElementName=Slider,Path=Value,Mode=OneWay}",这样根本不用处理Slider的值改变事件 (ValueChanged).不过我要做保存设置的功能,因此肯定要记录Slider的值咯,于是处理一下V