原文:零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上)

几何外部的 UIElement 会在呈现的配置中以视觉化方式裁剪。 几何不一定要是矩形。



裁剪区域是几何的「外部」。 换句话说,如果几何是用来做为 Path 而非裁剪的资料,所显示 (未裁剪) 内容的几何区域即具有 Fill 属性。



裁剪区域是指落在几何覆叠外部的任何区域。



对於复杂的几何而言,区域的裁剪与否会受到几何的 FillRule 的影响。

?

?

开场白不知道怎麽写....那让我们直接进入主题吧!!!!!!

?

?

01

在画面上先後置入Rectangle以及Ellipse,并且使之有部分的交叠

接着,在Rectangle上点击右键->Path->Make Clipping Path

?

出现Make Clipping Path的对话视窗

选择要被路径剪裁的物件(Choose the object that will be clipped by the path)->Ellipse

?

来看一下结果:

?

以及XAML:

   1: <Grid x:Name="LayoutRoot" Background="White">

   2:     <Ellipse Fill="#FF0D00AF" 



   3:              HorizontalAlignment="Left" 



   4:              Margin="38,212,0,115" 



   5:              Stroke="Black" 



   6:              Width="153" 



   7:              StrokeThickness="0" 



   8:              Clip="M75,-129 L493,-129 L493,91 L75,91 z"/>



   9: </Grid>


?

?

02

我们直接做另一个是从Ellipse截掉Rectangle的操作,来比较差异

在Ellipse上点击右键->Path->Make Clipping Path->Rectangle

?

?

出现Make Clipping Path的对话视窗

选择要被路径剪裁的物件(Choose the object that will be clipped by the path)->Rectangle

?

来看一下结果:

以及XAML:

   1: <Grid x:Name="LayoutRoot" Background="White">

   2:     <Rectangle Fill="#FFFF00AF" 



   3:                Margin="214,62,56,222" 



   4:                Stroke="Black" 



   5:                StrokeThickness="0" 



   6:                Clip="M59,193 C59,228.34622 25.869072,257 -15,257 C-55.869072,257 -89,228.34622 -89,193 C-89,157.65378 -55.869072,129 -15,129 C25.869072,129 59,157.65378 59,193 z"/>



   7: </Grid>


?

看出差异了吗?

?

?

?

没有的话没关系,看下去就知道!

?

03

左边为由矩形路径截掉的圆形,右边为由圆形路径截掉的矩形

?

以上在MSDN的解释如下:

(原文)

几何外部的 UIElement 会在呈现的配置中以视觉化方式裁剪。 几何不一定要是矩形。

裁剪区域是几何的「外部」。 换句话说,如果几何是用来做为 Path 而非裁剪的资料,所显示 (未裁剪) 内容的几何区域即具有 Fill 属性。

裁剪区域是指落在几何覆叠外部的任何区域。

对於复杂的几何而言,区域的裁剪与否会受到几何的 FillRule 的影响。

?

如果以图片说明:

?

?

?

以上对Clip的介绍,到此告一个段落~

下回介绍进阶的使用并实作,请期待"Chapter 38 如何使用Clip修出想要的完美曲线(下)"

?

?

?

?

(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)

?

?

一步一步迈向HIE之路

喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!

若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您

 

零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上)的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下)

    原文:零元学Expression Blend 4 - Chapter 38 看如何使用Clip修出想要的完美曲线(下) 你可以把Clip想成是一个遮罩,运用遮罩达到我们想要的效果 所以在这里我们把文字 ...

  2. 零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里

    原文:零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里 前面几章连续讲到ListBox的运用,本章要讲得是如何简单的把Sa ...

  3. 零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗?

    原文:零元学Expression Blend 4 - Chapter 45 ListBox里的物件不能换行吗? ListBox里的排列不是垂直就是水平,觉得这样的排列很枯燥乏味吗? 想要它变聪明吗? ...

  4. 零元学Expression Blend 4 - Chapter 18 用实例了解互动控制项「CheckBox」II

    原文:零元学Expression Blend 4 - Chapter 18 用实例了解互动控制项「CheckBox」II 延续上一章的CheckBox教学,本章将以实作继续延伸更灵活的运用CheckB ...

  5. 零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里

    原文:零元学Expression Blend 4 - Chapter 7 什麽?影片不再是印象中的方框框!!!看Blend 4如何把影片镶入字里 本章将教大家如何在Blend 4里新增Media El ...

  6. 零元学Expression Blend 4 - Chapter 15 用实例了解互动控制项「Button」I

    原文:零元学Expression Blend 4 - Chapter 15 用实例了解互动控制项「Button」I 本章将教大家如何更改Button的预设Template,以及如何在Button内设置 ...

  7. 零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下)

    原文:零元学Expression Blend 4 - Chapter 44 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(下) 抱歉久等了!!!! 终於到了动画MenuBar ...

  8. 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画

    原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...

  9. 零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中)

    原文:零元学Expression Blend 4 - Chapter 41 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(中) 我们接着进行动画MenuBar的制作 接续着上 ...

随机推荐

  1. [Angular] Difference between Providers and ViewProviders

    For example we have a component: class TodoList { private todos: Todo[] = []; add(todo: Todo) {} rem ...

  2. [转至云风的博客]谈谈陌陌争霸在数据库方面踩过的坑( Redis 篇)

    « 谈谈陌陌争霸在数据库方面踩过的坑(芒果篇) | 返回首页 | linode 广告时间 » 谈谈陌陌争霸在数据库方面踩过的坑( Redis 篇) 注:陌陌争霸的数据库部分我没有参与具体设计,只是参与 ...

  3. 【25.00%】【vijos P1907】飞扬的小鸟

    描述 Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告 ...

  4. Web自动化测试(全网最给力自动化教程)

    http://www.cnblogs.com/zidonghua/p/7430083.html python+selenium自动化软件测试(第2章):WebDriver API 欢迎您来阅读和练手! ...

  5. 生成动态Lambda表达式1

    SqlDataReader生成动态Lambda表达式 上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少.主要是首行转换的时候动态生成了委托. 后面的转换都是直接调 ...

  6. 【21.28%】【codeforces 707D】Persistent Bookcase

    time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard o ...

  7. E: Could not get lock /var/lib/dpkg/lock(无法获得锁)

    出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用.而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况,解决的办法其实很简单.有以下两种解决办法: 1. 强制解锁 执 ...

  8. Bitmap,byte[],Drawable相互转化

    1.Drawable就是一个可画的对象.其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable).还有可能是一个图层(LayerDrawable),我们依据绘图 ...

  9. 将gdal源码转化为VS工程编译过程记录

    作者:朱金灿 来源:http://blog.csdn.net/clever101 为什么要用VS工程的方式来编译gdal库?主要还是为了调试方便,虽然理论上使用命令行方式生成库也能调试,详见:GDAL ...

  10. 开发Android项目中使用androidannotations

    前言 最近接手了一个工程,使用了androidannotations,因为以前使用过butterknife所以有似曾相识的感觉,但是有些用法还是不一样,所以就花时间学习了下androidannotat ...