1,5种画刷 (见Project15)

(1)TextBlock控件中的Forground和BackGround属性是一个什么对象?它在前台的完整的写法是什么?
(实际是.net做了一个转换,可以直接写成ForeGround="Red")

说明:它们实际上是一个Brush类型

<TextBlock Name="tb1" Text="ddd">
<TextBlock.Foreground>
<SolidColorBrush Color="Red"></SolidColorBrush>
</TextBlock.Foreground>
</TextBlock>

注意:在Sliverlight中,几乎所有和颜色有关的属性都是Brush类型

(2)Brush类是一个什么类

说明:Brush是一个绘制图形的类

(3)什么是实心颜色画刷(单色笔刷)

说明: 它的标签是SolidColorBrush,重要的属性是Color填充颜色

<Rectangle.Fill>
<SolidColorBrush Color="Green"></SolidColorBrush>
</Rectangle.Fill>

(4)点击按钮,改变TextBlock控件文字颜色为绿色

说明:

SolidColorBrush solid = new SolidColorBrush();
solid.Color = Colors.Green;
tb1.Foreground = solid;

(5)什么是线型渐变画刷

说明:
线型渐变标签是LinearGradient
几个重要属性:StartPoint EndPoint
它的渐变点是GradientStop

(6)线型渐变画刷的渐变点是什么,它的offset属性有什么含义

说明:
渐变点:GradientStop
Offset值的范围是0---1,表示渐变点所属区域的位置

(7)线型渐变画刷的起始位置是哪两个属性,它和x轴和y轴是什么关系,不同数值代表什么含义

说明:
起始位置是 StartPoint(x,y) EndPoint(x,y)
表示渐变的方向

(8)在Rectangle控件中用线型渐变画刷对3种颜色分别从横向和纵向画出一个渐变

说明:

横向线型渐变

<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="Red" Offset=""></GradientStop>
<GradientStop Color="Yellow" Offset="0.5"></GradientStop>
<GradientStop Color="Green" Offset=""></GradientStop>
</LinearGradientBrush>
</Rectangle.Fill>

纵向线型渐变
StartPoint="0,0" EndPoint="0,1"

(9)把TextBlock控件中文字作出一个线型渐变的效果

说明:

<TextBlock.Foreground>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Color="Black" Offset=""></GradientStop>
<GradientStop Color="Blue" Offset="0.25"></GradientStop>
<GradientStop Color="Yellow" Offset="0.75"></GradientStop>
</LinearGradientBrush>
</TextBlock.Foreground>

(10)作一个文字闪烁的效果(线性渐变,定时器,TextBlock)

说明:

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds();
dt.Tick += dt_Tick;
dt.Start(); double number = 0.1;
void dt_Tick(object sender,EventArgs e)
{
tb1.Text = gs1.Offset.ToString();
if (gs1.Offset >= || gs1.Offset<=)
{
number = - number;
} gs1.Offset += number; if (gs1.Offset > )
{
gs1.Offset = ;
}
if (gs1.Offset < )
{
gs1.Offset = ;
} }

注意:
使用DispatcherTimer,要引用using System.Windows.Threading;

(11)什么是径向渐变,径向渐变的中心点如何设置?

说明:

径向渐变的标签是RadialGradientBrush

它的属性有:

GradientOrigin是焦点,它是定义渐变的开始
GradientOrigin设置中心点,默认是GradientOrigin="0.5,0.5",即处于中心点位置

Center="x,y"获取或设置外面圆的圆心,默认值是Center="0.5,0.5"

RadiusX 获取或设置外面圆的水平半径,默认值是RadiusX="0.5"
RadiusY 获取或设置最面圆的垂直半径,默认值是RadiusY="0.5"

(12)在Rectangle控件中实现一个径向渐变的时空门效果

说明:

<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5">
<GradientStop Color="Red" Offset=""></GradientStop>
<GradientStop Color="Blue" Offset="0.5"></GradientStop>
<GradientStop Color="Green" Offset=""></GradientStop>
</RadialGradientBrush>
</Rectangle.Fill>

(13)什么是图片画刷,在TextBlock中文字和背景色上演示一下

说明:
图片画刷的标签是ImageBrush,表示用图片绘制
重要的属性是ImageSource

<TextBlock.Foreground>
<ImageBrush ImageSource="1.jpg"></ImageBrush>
</TextBlock.Foreground>

(14)什么是视频画刷,在TextBlock中文字和背景色上演示一下

说明:

视频画刷的标签是VideoBrush,它的重要的属性是SourceName
需要放一个MediaElement

<TextBlock FontSize="" HorizontalAlignment="Left" Margin="88,100,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top">
<TextBlock.Foreground>
<VideoBrush SourceName="video1"></VideoBrush>
</TextBlock.Foreground>
</TextBlock>
<MediaElement Name="video1" Visibility="Collapsed" Source="1.wmv" HorizontalAlignment="Left" Height="" Margin="71,100,0,0" VerticalAlignment="Top" Width=""/>

(15)回顾一下,这五种画刷

说明:
SolidColorBrush 纯色画刷
LinearGradientBrush 线型渐变画刷
RadialGradientBrush 径向渐变画刷
ImageBrush 图片画刷
VideoBrush 视频画刷

Sliverlight之 画刷的更多相关文章

  1. WPF样式之画刷结合样式

    第一种画刷,渐变画刷GradientBrush (拿线性渐变画刷LinearGradientBrush(其实它涵盖在GradientBrush画刷内.现在拿他来说事.),还有一个圆心渐变画刷Radia ...

  2. C#GDI+基础(三)画刷详解

    SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形 创建一般画刷: SolidBrush sbBrush1 = new SolidBrush(Color.Green); HatchB ...

  3. [游戏模版3] Win32 画笔 画刷 图形

    >_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...

  4. Unity3D-terrain brush地形画刷无法出现在Scene中,无法刷地图2

    原因大概是 画刷brush 太小了,地图也太小了,没出出现. 如图,非正常状态: 解决方法: tag: terrain brush not working unity

  5. WPF 动画(形状、画刷)

    一:形状 在WPF用户界面中,可以通过形状(Shape)来绘制直线.椭圆.矩形及一些多边形的类.通过这些基本的图像,组合成为复杂的图形. Shape类中,主要的形状有Rectangle(),Ellip ...

  6. WPF学习系列之八(形状,画刷和变换)

    形状,画刷和变换   概述: 在许多用户界面技术中,普通控件和自定义绘图之间具有清晰的区别.通常来说,绘图特性只用于特定的应用程序--如游戏,数据可视化和物理仿真等.而WPF具有一个非常不同的原则.它 ...

  7. WPF中线性渐变画刷的一个小窍门

    最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...

  8. 《WPF程序设计指南》读书笔记——第2章 基本画刷

    1.Color结构 using System; using System.Windows; using System.Windows.Input; using System.Windows.Media ...

  9. qt画刷和画笔

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #画刷和画笔:QBrush 定义了 QPainter 的填充模式,具 ...

随机推荐

  1. Andy&#39;s First Dictionary

    Description Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy ...

  2. 一个Java对象到底占多大内存?(转)

    最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...

  3. stm32 ARM中的RO、RW和ZI DATA

    一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将 ...

  4. C++环形矩阵填充实现

    #include<iostream> #include<iomanip> #include<cstdlib> #include<ctime> #incl ...

  5. 黑马程序员:Java基础总结----泛型(高级)

    黑马程序员:Java基础总结 泛型(高级)   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...

  6. [Cocos2d-x]节点之间的相互通讯

    在做.NET开发时,对象之间的相互通讯一般使用事件(event)实现,事件概念是.NET对Delegate的封装. 在Cocos2d-x开发过程中,对象之间的通讯刚开始时不知道如何实现,于是想到c++ ...

  7. 激动啊,终于诞生了,编译了属于俺自己的 JDK

    激动啊,终于诞生了,编译了属于俺自己的 JDK  折腾了2天,现在编译过去了 30多分钟了,久违的 java.exe 终于出现在了 bin 目录中,属于俺自己的 JDK 终于诞生了,激动啊

  8. ASA虚墙配置

    asa配置ASA Version 8.0(2) <system>!hostname ASA5520enable password 2KFQnbNIdI.2KYOU encryptedno ...

  9. mysql-merge合并表

    merge表 注意: 1 每个子表的结构必须一致,主表和子表的结构需要一致, 2 每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索. 3 子表需要是MyISAM ...

  10. curl的封装

    首先要搭建一个httpserver,这里採用tomcat6为例: 过程:新建一个Servlet,并使用tomcat的默认port号8080监听,最后写一个jsp来測试能否够訪问该server 1)新建 ...