图形 在WPF中使用绘图最简单的就是使用Shape类.Shape类继承自FrameworkElement,是一个专门用来绘图的类.Shape类中年派生的类有直线.矩形.多边形和圆形等. System.Windows.Shapes.Shape类是一个抽象类,从该类又派生出多个不同的子类,如下图: Shape类的通用属性 属性名称 描述 Fill 绘制填充的画刷 Stroke 绘制边框的画刷 StrokeThickness 与设备无关的边框宽度 StrokeStartLineCap和StrokeEn…
形状,画刷和变换   概述: 在许多用户界面技术中,普通控件和自定义绘图之间具有清晰的区别.通常来说,绘图特性只用于特定的应用程序--如游戏,数据可视化和物理仿真等.而WPF具有一个非常不同的原则.它以相同的方式处理控件和绘制的图形. 一.理解形状.       在WPF用户界面中,绘制2D图形内容的最简单方法是使用形状(shape) :专门用于表示简单的直线,椭圆,矩形以及多边形的类.从技术角度讲,形状就是所谓的绘图图元.可以组合这些基本元素来创建更复杂的图形.形状最重要的细节是,它们都继承自…
几何图形 使用LineGeometry.RectangleGeometry.EllipseGeometry对象分别绘制直线.矩形.椭圆. 使用GeometryGroup可以绘制组合图形. <Window x:Class="WPFDemo.GeometryDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micr…
介绍 边框是每个WPF程序的主要构成块.在我现在的程序中,我使用了很多的边框来装饰界面.从把边框直接放到窗口中到把边框放到控件模板和列表项中,边框在创建一个好的应用界面上扮演了一个非常重要的角色.在这个程序中,你将轻松了解到怎么使用边框和它大部分的属性. 每个人都知道边框到底是什么.它是一个用来装饰UI元素的矩形区域.矩形和边框最大的不同是你可以把一个单独的元素放入到边框中.Border.Child 属性允许你包含一个子 DependancyObject 在边框中.让我们看一个边框的例子: <B…
WPF数据绑定 数据绑定到元素属性是将源对象指定为一个WPF元素,并且源属性是一个依赖属性,依赖属性内置了变更通知.当改变源对象依赖属性值之后,绑定目标可以立即得到更新,开发人员不需要手动编写响应事件. 在绑定来源和绑定目标之间,可以使用Mode属性指定绑定的方法.Mode属性是System.Windows.Data.BindMode枚举类型的属性: OneWay:源数据变更目标数据变更,反之不行 OneTime:仅在启动时更新 OneWayToSource:目标数据更新源数据更新,反之不行 T…
WPF资源 对象资源 WPF允许在XAML标记的任意位置定义资源.比如在特定的控件.窗口或应用程序级别定义资源,WPF资源系统提供的对象资源有如下好处: 1.  高效:使用对象资源可以在一个地方定义而在多个地方使用,这使得WPF代码可重用一些对象信息. 2.  可维护:可以将一些设置信息放置在一个中心位置,并在多个地方使用.如果需要进行更改时,只需要在中心位置进行更改,方便代码的维护工作. 3.  可适应性:当确定的信息从应用程序中分离出来放在资源中,就可以动态地被改变.例如可以基于用户的偏好设…
WPF系统属性和常用控件 渐变的背景色 WPF中的前景色和背景色不同于传统Winform的设置,这些属性都是Brush类型的值.在XAML中,当为这些属性设置指定的颜色后将被转换为SolidColorBrush类的调用.所有的控件都提供了背景色和前景色.在WPF中可以设置背景色为线性渐变色. <Window x:Class="WPFDemo.BurshDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr…
WPF内容控件 在WPF中,所有呈现在用户界面上的对象都称为用户界面元素.但是只有派生自System.Windows.Controls.Control类的对象才称为控件.内容控件通常是指具有Content属性的控件,Content属性并非定义在每个控件中,而是定义在基类System.Windows.Controls命名空间的ContentControl类中.注意:Content属性只接收单个内容元素. WPF内容控件分类 1.  直接继承ContentControl的控件 2.  继承Heade…
WPF布局 WPF的窗口也就是Window类,是一个内容控件,该控件派生自ContentControl.内容控件有一个Content属性,该属性有一个限制,只能放置一个用户界面元素,或一个字符串.为了在窗口上放置多个界面控件,通常在窗口上放置一个容器控件. WFP布局原则 1.  元素不应该指定 确定的尺寸大小,同很惨更应该使其大小自动适应内容.比如按钮根据所添加的文本来扩展其大小.可以通过设置maximun和minimun尺寸来限制控件可接受的尺寸大小. 2.  元素不应该使用屏幕坐标来指定其…
Application对象 当一个WPF应用程序启动时,首先会实例化一个全局唯一的Application对象,类似于WinForm下的Application类,用于控制整个应用程序,该类将用于追踪应用程序打开的窗口.在应用程序打开或关闭的时候能够触发相应的事件. 创建Application对象 手动创建Application应用程序对象过程: 1.  使用VS创建WPF应用程序,命名为WPFDemo.然后手动清除App.xaml文件. 2.  添加Startup.cs类,并添加程序代码.如下:…
XAML是什么 XAML是一种与.NET CLR紧密集成的声明性UI标记语言.XAML中的对象元素对应到CLR中的类型或结构.XAML命名空间对应到CLR中类的命名空间,元素类型则对应到CLR中的类型.XAML是xml的子集,因此严格遵循XML的语法规范. 新建一个WPF空项目,下面是默认生成的XAML结构 <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/w…
简介 WPF技术基于DirectX,完美的整合了矢量图形.2D或3D绘图技术.文件及多媒体技术.WPF将开发人员和设计人员的职责清楚的分离,提供了一种声明编程语言XAML.同时Expression Blend设计可以让界面设计更简单. WPF特点 基于矢量绘图技术:使用矢量绘图引擎,意味着可以无限放大和缩小图形. 与设备无关的单位:使用1/96的逻辑单位,这是应用程序在不同的分辨率中依然能保持良好的交互性格.传统的以像素为单位的用户界面,在不同的分辨率下会显示不同的大小. 声明式的程序设计:使用…
原文:简述WPF中的画刷(Brush) --------------------------------------------------------------------------------引用或转载时请保留以下信息:大可山 [MSN:a3news(AT)hotmail.com] http://www.zpxp.com http://www.brawdraw.com萝卜鼠在线图形图像处理--------------------------------------------------…
构造Graphics对象 Graphics类是GDI+程序设计的核心,Graphics类能够完成大部分的绘图,文本输出,几何图形的填充及坐标系统的转换等各种操作.在功能上,它与GDI的设备环境(DC)一致. Graphics类有下列几种构造函数: static Graphics* FromHDC(HDG hdc); static Graphics* FromHDC(HDG hdc, HANDLE hDevice); static Graphics* FromHWND(HWND hWnd, BOO…
绘制图形需要画笔和画刷: Pen(画笔类): Pen为C#编程语言中专门的画笔类 使用方式: // 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色 1. Pen p1 = new Pen(Color.black); //用系统为我们准备的配色方法,每种颜色用数字设置,不超过255 2. Pen p2 = new Pen(Color.FromArgb(给定三种颜色值)); Brush(画刷类): 使用方式: 1. Brush bs = new SolidBrush(Color.bla…
一:形状 在WPF用户界面中,可以通过形状(Shape)来绘制直线.椭圆.矩形及一些多边形的类.通过这些基本的图像,组合成为复杂的图形. Shape类中,主要的形状有Rectangle(),Ellipse(),Line,Polyline(),Polygon(),Path(),都继承自抽象类System.Windows.Shapes.Shape. 名称 作用 Rectangle 矩形 Ellipse 椭圆 Line 直线 Polyline 一系列相互连接的直线 Polygon 一系列连接的直线的闭…
原文:深入WPF中的图像画刷(ImageBrush)之1--ImageBrush使用举例 昨天我在<简述WPF中的画刷(Brush)  >中简要介绍了WPF中的画刷的使用.现在接着深入研究一下其中的ImageBrush. 如上文所述,ImageBrush是一种TileBrush,它使用ImageSource属性来定义图像作为画刷的绘制内容.你可以控制图像的缩放.对齐.铺设方式.ImageBrush可用于绘制形状.控件,文本等. 下面看看它的一些简单应用:首先看一下效果图片:先看看上图的左边部分…
画刷填充区域,不管是元素的背景色.前景色以及边框,还是形状的内部填充和笔画(Stroke).最简单的画刷类型是SolidColorBrush,这种画刷填充一种固定.连续的颜色.在XAML中设置形状的Stroke或Fill属性时,使用的是SolidColorBrush画刷,他们在后台完成绘制. 下面是几个与画刷相关的更基本的方面: 画刷支持更改通知,因为他们继承自Freezable类.因此,如果改变了画刷,任何使用画刷的元素都会自动重新绘制自身. 画刷支持部分透明.为此,只需要修改Opacity属…
原文:深入WPF中的图像画刷(ImageBrush)之2--ImageBrush的铺设方式 --------------------------------------------------------------------------------引用或转载时请保留以下信息:大可山 [MSN:a3news(AT)hotmail.com] http://www.zpxp.com http://www.brawdraw.com萝卜鼠在线图形图像处理------------------------…
第一种画刷,渐变画刷GradientBrush (拿线性渐变画刷LinearGradientBrush(其实它涵盖在GradientBrush画刷内.现在拿他来说事.),还有一个圆心渐变画刷RadialgradientBrush,两者用法相同): 我想象中的button的总体样式大体结构应该如下: <Style TargetType="Button">         <Setter Property="Template">        …
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法来实现进度显示的问题.不需要进行复杂的计算,具体就是借用线性渐变画刷. 线性渐变画刷在使用的时候设置里面的Offset的时候,你会发现它用的是相对值,也就是0-1.换句话说,不管你的填充到底多长,反正就是通过百分比来显示你的高度,只要你将代码写成这个模样 然后你会看到效果是这个模样的: 已经成功了一…
System.Windows.Media.Brush最上一层画刷 System.Windows.Media.GradientBrush  线性画刷 ,下层主要有两种画刷 System.Windows.Media.LinearGradientBrush  线性渐变 System.Windows.Media.RadialGradientBrush焦点定义渐变的开变 System.Windows.Media.BitmapCacheBrush  使用缓存的内容绘制区域 System.Windows.Me…
一.什么是画刷 画刷是是一种渲染方式,用于填充图形形状,如矩形.椭圆.扇形.多边形和封闭路径.在GDI+中,画刷分为以下几种:SolidBrush,TextureBrush,HatchBrush,LinearGradientBrush和PathGradientBrush.在层次关系上,它们都位于System.Drawing空间下,继承自System.Drawing.Brush类. 画刷主要分为三大类: 1.SolidBrush(实心画刷)我们最常用 实心画刷是我们用的最多的,也是最简单的一个,其…
创建画刷 调用 CreateSoildBrush.CreateHatchBrush.CreateBrushIndirect 函数可以创建画刷. CreateSoildBrush:创建实心画刷: CreateHatchBrush:创建阴影画刷: CreateBrushIndirect:根据 LOGBRUSH 结构的内容创建画刷: Windows 使用被选入设备环境的画笔来描绘边线,使用被选入设备环境的画刷来填充图形. 画刷使用的示例代码: // 定义画刷句柄(HBRUSH) HBRUSH hBru…
1.Color结构 using System; using System.Windows; using System.Windows.Input; using System.Windows.Media; namespace LY.VaryTheBackGround { public class VaryTheBackGround : Window { SolidColorBrush brush = new SolidColorBrush(Colors.Beige); [STAThread] pu…
1.形状(Ellipse.Line.Path.Polygon.Polyline 和 Rectangle) <UserControl x:Class="SharpStudy.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns…
原文:<Programming WPF>翻译 第7章 3.笔刷和钢笔 为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框.WPF提供了一些Brush类型支持各种绘图样式.Pen类增加这些笔刷以提供边框的厚度和样子. 在这一章,我们将要看一下各种类型的笔刷和钢笔类.可是,由于所有的笔刷和钢笔类最终是关于指出在哪里使用哪一种颜色,以及如何将它们联合在一起,我们必须首先看一下眼色是如何被表示的. 7.3.1 颜色 WPF在System.Windows.Media命名…
原文:Windows Phone开发(31):画刷 画刷是啥玩意儿?哈,其实画刷是用来涂鸦,真的,没骗你,至于你信不信,反正我信了. 本文通过价绍几个典型的画刷,使你明白画刷就是用来涂鸦的. 一.纯色画刷SolidColorBrush. 这个家伙比较"纯",当然它不是装纯,的确很纯,纯到只用一种颜色,所以叫"单色画刷". 来,看看这个示例,我们画一个矩形(放在一个Canvas中),然后用这个纯家伙来打扮一下. <Rectangle Canvas.Left=&q…
1,5种画刷 (见Project15) (1)TextBlock控件中的Forground和BackGround属性是一个什么对象?它在前台的完整的写法是什么?(实际是.net做了一个转换,可以直接写成ForeGround="Red") 说明:它们实际上是一个Brush类型 <TextBlock Name="tb1" Text="ddd"> <TextBlock.Foreground> <SolidColorBrus…
Home / Qt 学习之路 2 / Qt 学习之路 2(25):画刷和画笔 Qt 学习之路 2(25):画刷和画笔  豆子  2012年11月5日  Qt 学习之路 2  17条评论 前面一章我们提到,Qt 绘图系统定义了两个绘制时使用的关键属性:画刷和画笔.前者使用QBrush描述,大多用于填充:后者使用QPen描述,大多用于绘制轮廓线. QBrush定义了QPainter的填充模式,具有样式.颜色.渐变以及纹理等属性. 画刷的style()定义了填充的样式,使用Qt::BrushStyle…