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. 硬盘重装Ubuntu12.04的感受

    好久没更blog了,最近这两天系统也出了问题,win7蓝屏,ubuntu进不去-.后来win7整好了,ubuntu依旧顽固.用惯了linux,就不想在转到win7下面了,估计是习惯了各种敲命令的感觉吧 ...

  2. codeforces584B Kolya and Tanya

    题目链接:http://codeforces.com/problemset/problem/584/B 解题思路:当n=1时,_______    _______   ______  三个数每位上可以 ...

  3. delphi cmd(4个例子都是通过管道取得)

    //K8执行DOS并返回结果 function RunDosCommand(Command: string): string; var hReadPipe: THandle; hWritePipe:  ...

  4. Hbase0.96源码之HMaster(一)

    从main()函数開始 public static void main(String [] args) { VersionInfo.logVersion(); new HMasterCommandLi ...

  5. loj1245(数学)

    传送门:Harmonic Number (II) 题意:求sum=n/1+n/2+n/3+...+n/n.(n<2^31) 分析:在一定的区间内n/i的值是一定的,因此要跳过这段区间来加速求解. ...

  6. 《算法导论》 — Chapter 7 高速排序

    序 高速排序(QuickSort)也是一种排序算法,对包括n个数组的输入数组.最坏情况执行时间为O(n^2). 尽管这个最坏情况执行时间比較差.可是高速排序一般是用于排序的最佳有用选择.这是由于其平均 ...

  7. redis优化配置和redis.conf说明

    1. redis.conf 配置參数: #是否作为守护进程执行 daemonize yes #如以后台进程执行,则需指定一个pid,默觉得/var/run/redis.pid pidfile redi ...

  8. hdu2844(多重背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844 题意:一位同学想要买手表,他有n种硬币,每种硬币已知有num[i]个.已知手表的价钱最多m元,问 ...

  9. Python眼睛护士改进版

    添加了设定从(0,0)显示:self.root.geometry('1000x200+0+0')其实主要是两个0.那个1000和200是没用的,因为已经设定了minsize. 添加了窗口置顶:self ...

  10. Python每隔一秒钟打印当地时间

    import threading,time global t def sayHello(): print time.strftime('%Y-%m-%d %H:%M:%S',time.localtim ...