原文:在Microsoft Expression Blend 2 中绘制圆角矩形按钮

/* 声明:转载请保留此信息:http://www.BrawDraw.com, http://www.ZPXP.com 版权所有:a3news(AT)hotmail.com */

(1)打开Blend 2,新建一个工程名称为:LinearGradientButton。 
(2)使用矩形工具,在绘图区中拖出一个矩形框,使用你喜欢的颜色进入填充。

(3)使用视图缩放工具将绘图区可见物件区域放大,为了方便操作。当鼠标移动到上图左上角外的两个棱形小把柄上时,将显示如下图所示的带“+”号的一个鼠标拖动圆角矩形块。你可以按住后左右拖动它,这样就可以调整圆角矩形的圆角半径,调整后合适大小后松开鼠标左键。

(4)按Ctrl+C, 复制上面所得结果图形,再按Ctrl+V,得到一个相同的物件。使用箭头工具以及Shift,Ctrl,Alt键等的组合键,拖拉此物件至合适的位置及大小(注意将此复制物件放在圆角矩形的内部,保持四周大小大致相同)。之后,使用渐变填充,见下图:


设置后此物件的填充样式,同时使用渐变方向调整工具(在左边工具条中)调整颜色的渐变方向。最后得到如下结果:

(5)按Ctrl+C,再按Ctrl+V复制/粘贴它,之后在右边属性(Properties)面板中找到Transform选项卡,在旋转角度(Angle)中输入180后回车(如下图):

这样就可以得到下面部分的渐变效果,结果:

你可以在(4)中第一幅图所示的工具中再次设置此渐变的颜色,也可以使用渐变调整工具调整渐变的位置及大小。

OK,得到一个圆形矩形按钮的样式了。

建议:
为了今后编程使用更方便,建议你在制作的过程中养成及时对物件进行必要的命名,比如底图所用的圆形矩形,你可以取名为RoundRect_Bg,上面部分的渐变可以设置为:RoundRect_LinearGradientTop,下面部分的渐变可以设置为:RoundRect_LinearGradientBottom等等。

下面是最终的XAML代码:
<Window
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 x:Class="LinearGradientButton.LinearGradientDemo"
 x:Name="Window"
 Title="LinearGradientDemo"
 Width="181" Height="94">
 <Grid x:Name="LayoutRoot">
  <Rectangle Fill="#FFBD1C1C" Stroke="#FF000000" StrokeThickness="0" RadiusX="22.031" RadiusY="22.031" RenderTransformOrigin="0.5,0.5" x:Name="RoundRect_Bg" HorizontalAlignment="Left" Margin="2.879,5.879,0,0" VerticalAlignment="Top" Width="155" Height="43">
   <Rectangle.RenderTransform>
    <TransformGroup>
     <ScaleTransform ScaleX="1" ScaleY="1"/>
     <SkewTransform AngleX="0" AngleY="0"/>
     <RotateTransform Angle="0"/>
     <TranslateTransform X="0" Y="0"/>
    </TransformGroup>
   </Rectangle.RenderTransform>
  </Rectangle>
  <Rectangle Stroke="#FF000000" RadiusX="20" RadiusY="20" StrokeThickness="0" RenderTransformOrigin="0.5,0.5" x:Name="RoundRect_LinearGradientTop" HorizontalAlignment="Left" Margin="5.237,8.002,0,0" VerticalAlignment="Top" Width="150.693" Height="38.046">
   <Rectangle.Fill>
    <LinearGradientBrush EndPoint="0.477,0.561" StartPoint="0.476,-0.096">
     <GradientStop Color="#FFFCFCFC" Offset="0"/>
     <GradientStop Color="#00FFFFFF" Offset="0.995"/>
    </LinearGradientBrush>
   </Rectangle.Fill>
   <Rectangle.RenderTransform>
    <TransformGroup>
     <ScaleTransform ScaleX="1" ScaleY="1"/>
     <SkewTransform AngleX="0" AngleY="0"/>
     <RotateTransform Angle="0"/>
     <TranslateTransform X="0" Y="0"/>
    </TransformGroup>
   </Rectangle.RenderTransform>
  </Rectangle>
  <Rectangle Stroke="#FF000000" RadiusX="20" RadiusY="20" StrokeThickness="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" Margin="5.237,8.305,0,0" x:Name="RoundRect_LinearGradientBottom" VerticalAlignment="Top" Width="150.693" Height="38.046">
   <Rectangle.Fill>
    <LinearGradientBrush EndPoint="0.48,0.342" StartPoint="0.481,-0.18">
     <GradientStop Color="#FFFCFCFC" Offset="0"/>
     <GradientStop Color="#00FFFFFF" Offset="0.995"/>
    </LinearGradientBrush>
   </Rectangle.Fill>
   <Rectangle.RenderTransform>
    <TransformGroup>
     <ScaleTransform ScaleX="1" ScaleY="1"/>
     <SkewTransform AngleX="0" AngleY="0"/>
     <RotateTransform Angle="180"/>
     <TranslateTransform X="0" Y="0"/>
    </TransformGroup>
   </Rectangle.RenderTransform>
  </Rectangle>
 </Grid>
</Window>

下一篇讲解在VS2005中设置WPF中自定义按钮的事件

在Microsoft Expression Blend 2 中绘制圆角矩形按钮的更多相关文章

  1. Android中绘制圆角矩形图片及任意形状图片

    圆角矩形图片在苹果的产品中很流行,相比于普通的矩形,很多人都喜欢圆角矩形的图片,因为它避开了直角的生硬,带来更好的用户体验,下面是几个设计的例子: 下面在Android中实现将普通的矩形图片绘制成圆角 ...

  2. Delphi中绘制圆角矩形的窗体

    制作圆角矩形的窗体: 01.procedure TPortForm.FormCreate(Sender: Tobject); 02.var hr :thandle; 03.begin 04.hr:=c ...

  3. 如何在html中做圆角矩形和 只有右边的"分隔线"

    这个网站满好的,可以常看看 css-matic中有几个很好的写css可视化的工具 其实做css 版式布局等都可以有工具的 推荐40个优秀的免费CSS工具 debugger正则表达式在线 其实是对(理论 ...

  4. CODESOFT中的圆角矩形的弧度该怎样设置?

      CODESOFT标签设计软件提供多种图形制作按钮,方便用户更为快捷的制作标签.其中就包括矩形,圆角矩形的快捷创建按钮.本文将介绍如何设置CODESOFT圆角矩形的弧度. 若有疑问可直接访问:htt ...

  5. canva绘制圆角矩形

    在做组态的时候,需要支持矩形圆角格式,但是因为canvas本身不带有圆角矩形,需要自行算出坐标进行绘制 方案一.统一圆角 <!DOCTYPE html> <html> < ...

  6. Microsoft Expression Blend 4制作简单的按钮

    在博客园混了这么久了,第一次写博客.本人标准的理工男,文笔不敢说一般,只能用还学过语文.勉强达意而已.见笑!! 由于本人能有有限,错误之处在所难免,望大牛们批评指正,共同进步.^_^!!!!!!!!! ...

  7. [BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  8. Android中实现圆角矩形及半透明效果。

    注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作! 在做Android开发时,我们为了美观,有时候需要使用圆角矩形,或半透明之类的效果,在网页设计中很容易实现.但在Android开发中 ...

  9. 解读Unity中的CG编写Shader系列四(unity中的圆角矩形shader)

    转自 http://www.itnose.net/detail/6097625.html 上篇文章中我们掌握了表面剔除和剪裁模式 这篇文章将利用这些知识实现一个简单的,但是又很常用的例子:把一张图片做 ...

随机推荐

  1. 《PHP 5.5从零開始学(视频教学版)》内容简单介绍、文件夹

    <PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版 ...

  2. 在scala中调用java代码

      详细代码请见https://github.com/lujinhong/scalademo 在scala中调用java代替非常非常简单,直接调用即可 (一)一个简单示例 1.创建一个java类 pa ...

  3. 利用java反射将结果集封装成为对象和对象集合

    java反射机制是什么 反射机制是在运行状态中,可以知道任何一个类的属性和方法,并且调用类的属性和方法: 反射机制能够做什么 1.判断运行对象的所属类 2.构造任意一个类的对象 3.获取任意一个类的属 ...

  4. 关于心理的二十五种倾向(查理&#183;芒格)-3

    9)回馈倾向人们早就发现.和猿类,猴类,狗类等其它很多认知能力较为低下的物种同样,人类身上也有以德报德,以牙还牙的极端倾向:这样的倾向明显能够促进有利于成员利益的团体合作.这跟非常多社会性的动物的基因 ...

  5. [TypeStyle] Style CSS pseudo elements with TypeStyle

    Just like pseudo-classes, pseudo-elements are added to selectors but instead of describing a special ...

  6. 数据类型总结——Array(数组类型)

    相关文章 简书原文:https://www.jianshu.com/p/1e4425383a65 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  7. 【2037】利用字符串处理,输出x+y的结果

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 输入两个整数x,y输出它们的和.(0<=x,y<=10的100次幂) [输入] 共2行:   ...

  8. [Recompose] Add Local State with Redux-like Reducers using Recompose

    Learn how to use the 'withReducer' higher order component using the alternative reducer form. If you ...

  9. 反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client,此时的代理server对外就表现为反向代理server。

       Nginx安装好之后.開始使用它来简单实现反向代理与负载均衡的功能.在这之前.首先得脑补一下什么是反向代理和负载均衡.   反向代理:是指以代理server来接收Internet上的请求,然后将 ...

  10. Android(Java) 模拟登录知乎并抓取用户信息

    前不久.看到一篇文章我用爬虫一天时间"偷了"知乎一百万用户.仅仅为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的.仅 ...