原文:在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. [AngularJS] Using an AngularJS directive to hide the keyboard on submit

    Pleasea refer to Link <form ng-submit="foo()" handle-phone-submit> <input type=&q ...

  2. css3-11 如何设置文字的阴影

    css3-11 如何设置文字的阴影 一.总结 一句话总结:text-shadow属性.text-shadow:3px 3px 3px #f0f; 1.text-shadow属性的参数依次是什么意思? ...

  3. php curl header头

    工作中第一次用到header做个记录 工作中需要在heaer里面加上 Authorization 用来验证身份 public function index() { $url = "http: ...

  4. java开发中序列化与反序列化起到的作用

    基本概念: 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象. 这两个过程结合起来,能够轻松地存储和数据传输. 特别在网络传输中,它的作用显得尤为重要.我们 ...

  5. 前端js实现打印(导出)excel表格

    产品原型: 图片.png 功能需求:点击导出考勤表格按钮,会自动下载成Excel格式 图片.png 图片.png jsp页面代码: <div class="tools"> ...

  6. 【t035】收入计划

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 高考结束后,同学们大都找到了一份临时工作,渴望挣得一些零用钱.从今天起,Matrix67将连续工作N天( ...

  7. Java中String推断相等equals与==的差别以及StringBuilder的equals

    Java中String类型具有一个equals的方法能够用于推断两种字符串是否相等,可是这样的相等又与运算符==所推断的"相等"有所不同,接下来进行分析,结论由程序进行验证 Str ...

  8. 为什么 qt 成为 c++ 界面编程的第一选择?

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

  9. php实现 简单密码(代码颜色变化)

    php实现  简单密码(代码颜色变化) 一.总结 一句话总结:写代码的时候一定要关注代码的颜色变化,不然低级错误害死人.常量变量会有不同颜色,所以$str少$符号变成常量的时候很容易发现. 1.变量$ ...

  10. RabbitMQ 服务

    RabbitMQ 使用场景一   安装环境 1.下载安装 Erlang 运行时环境 2.下载安装 RabbitMQ Server 应用程序 3.启动 RabbitMQ 服务(默认启动) 4.安装管理平 ...