WPF中ImageBrush常用方式介绍
作者:天方 发布时间:2022-02-26 09:45:30
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"
另外,还有一些比较常见的属性:AlignmentX
,AlignmentY
,Stretch
。这里就不一一介绍了,具体可参看MSDN文档:
https://msdn.microsoft.com/zh-cn/library/aa970682(v=vs.110).aspx
来源:https://www.cnblogs.com/TianFang/p/6349816.html


猜你喜欢
- 背景使用flowable自带的flowable-ui制作流程图使用springboot开发流程使用的接口完成流程的业务功能一、flowabl
- Java8对List<Integer>的求和想要用流对List<Integer>进行求和,但查找完资料都是对List
- rocketmq client 日志的问题处理使用rocketmq后,默认会在{user.home}\logs\rocketmqlogs 目
- Android Lint 原理及使用详解Android Lint 是 ADT 16中引入的新工具,用于扫描 Android 项目源中的潜在错
- 在 Android 手机中内置了一款高性能 webkit 内核浏览器, SDK 中封装为一个叫做 WebView 组件。 WebView 类
- 1、springboot controller 单例Spring中 controller默认是单例的,因为单例所以不是线程安全的。所以需要注
- 排序算法介绍排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。排序的分类:1) 内部排序:指将
- 前言:这里给大家介绍如何在SpringBoot项目中实现文件上传功能!1.创建SpringBoot项目打开IDEA,点击文件,选择新建项目,
- Java 的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程的执行。join 线程Thread 提供了让一个线程等
- 这篇文章主要介绍发送验证码和校验验证码的功能,用到一个第三方平台Bmob,那Bmob是什么呢?Bmob可以开发一个云存储的移动应
- 带搜索的ComboBox就是给ComboBox一个依赖属性的ItemSource,然后通过数据源中是否包含要查询的值,重新给ComboBox
- 事件函数的执行顺序先说一下执行顺序吧。 官方给出的脚本中事件函数的执行顺序如下图: 我们可以做一个小实验来测试一下: 在Hierarchy
- 准备:wildfly/tomcat或者其他服务器你的数据库的Driver,(此处用的mysql-connecter-java-5.1.39-
- Java.lang 中自带的注解@Override:表示当前的方法定义将覆盖基类的方法。如果你不小心拼写错误,或者方法签名被错误拼写的时候,
- 众所周知,当你点击一个超链接进行跳转时,WebView会自动将当前地址作为Referer(引荐)发给服务器,因此很多服务器端程序通过是否包含
- JDK 1.5开始提供ScheduledThreadPoolExecutor类,ScheduledThreadPoolExecutor类继承
- 本文实例讲述了android编程实现对话框的封装。分享给大家供大家参考,具体如下:/*** 对话框*/private static Prog
- 一、脚本生命周期Unity脚本中的常见必然事件如下表所示名称触发时机用途Awake脚本实例被创建时调用用于游戏对象的初始化,注意Awake的
- 线程组线程组可以批量管理线程和线程组对象。一级关联例子如下,建立一级关联。public class MyThread43 implement
- WPF 之列表分页控件框架使用大于等于.NET40。Visual Studio 2022。项目使用 MIT 开源许可协议