原文:零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」

本章将介绍UseLayoutRounding,中文我把它翻译为「布局修整」



英文原文为:Gets or sets a value that determines whether to use rounding behavior that aligns layout to whole pixels.

?

本章将介绍UseLayoutRounding,中文我把它翻译为「布局修整」

?

根据MSDN对UseLayoutRounding的介绍

UseLayoutRounding:为取得或设定值,这个值决定是否要使用将配置对齐整数像素的进位行为

?

我查了一下英文原文为:

Gets or sets a value that determines whether to use rounding behavior that aligns layout to whole pixels.

?

我想,应该还有更好的表达方式

让我来带大家看看何谓UseLayoutRounding吧!

?

就是要让不会的新手都看的懂!

?

01

请在专案的工作区中放入两个Rectangle

宽高皆设定为:100.7

按下进阶箭头,你可以在延伸的功能中找到UseLayoutRounding

如下图:

?

请设定一个Rectangle勾选UseLayoutRounding,另一个Rectangle则不勾选

你也可以直接复制下面的Xaml

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

   2:? 


   3: <Grid.ColumnDefinitions>


   4:? 


   5: <ColumnDefinition Width="0.5*"/>


   6:? 


   7: <ColumnDefinition Width="0.5*"/>


   8:? 


   9: </Grid.ColumnDefinitions>


  10:? 


  11: <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Center" Margin="0" Stroke="Black" Width="100.7" Height="100.7" VerticalAlignment="Center" StrokeThickness="10"/>


  12:? 


  13: <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Center" Margin="0" Stroke="Black" Width="100.7" UseLayoutRounding="False" Height="100.7" Grid.Column="1" VerticalAlignment="Center" StrokeThickness="10"/>


  14:? 


  15: </Grid>


?

请把工作区的大小倍数拉大,或是仔细看

发现不一样的地方了吗?

?

左边的Rectangle边框是清楚的,但右边的边框有点模糊

看右边的Rectangle时会感觉好像是眼睛度数不够一样,物件边框会雾化,不够精细

?

这就是UseLayoutRounding设定值的差异

UseLayoutRounding可以改善边框锯齿状与雾化的状态,取而代之的是明亮乾净的画面

?

我将画面截下来使用绘图软体放大到300倍以上

差异就很明显了

下图是右边未使用UseLayoutRoundin的左上角

?

右边没有使用UseLayoutRounding的Rectangle周围出现了灰色的线条

但左边有使用UseLayoutRounding的Rectangle周围却是很平整的

?

有的布局会用切Grid或百分比的方式来切割版面(Grid的介绍请看这里)

假如说切三等分,那每一等份就是0.33333333,不会是一个整数

?

所以在里面的物件大小也就不会是整数,画出来就会有毛毛的感觉

有使用UseLayoutRounding的话,绘图引擎会强制把它用整数画出来

看起来就不会毛毛的

?

但另一个布局容器Canvas里面的物件就不会被影响到,因为Canvas不会影响布局

想了解更多Canvas请到这里

?

UseLayoutRounding是个很容易被忽略的设定项目

但若能注意到很小的设定,会对你Silverlight的制作加分喔!

?

?

本篇的教学就到此。

?

?

?

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

一步一步迈向HIE之路

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

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

 

零元学Expression Blend 4 - Chapter 34 啊~!!我不要毛毛的感觉!-使用布局修整「UseLayoutRounding」的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步

    原文:零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步 如果需要经常的使用某一项工具,总会希望能够更快速的使用各项设定达到效果 今天要介绍 ...

  2. 零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果

    原文:零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果 有网友问我如何在Blend内制作出倒影效果 我提供了 ...

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

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

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

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

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

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

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

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

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

    原文:零元学Expression Blend 4 - Chapter 40 Flash做的到的Blend也可以!轻松制作拥有动画的MenuBar!(上) 一直以来都有人拿Flash的动画问我Blend ...

  8. 零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!

    原文:零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible.Hidden与Collapsed的差异! 由此可知 Hidden为隐藏项目,但 ...

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

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

随机推荐

  1. 动态获取server时间

    近期在做的这个项目要获取到后台的数据.然后使用html5绘制曲线.曾经都是在自己电脑上使用没有发现有什么不正常的地方,昨天连接同事的server发现有段数据怎么都对不上了,開始我还以为程序有问题呢,找 ...

  2. 前端Js框架汇总(工具多看)

    前端Js框架汇总(工具多看) 一.总结 一句话总结: 二.前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领 ...

  3. Unity UGUI——Rect Transform包(Anchors)

    Anchors(锚)操作演示 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXJfQUhhbw==/font/5a6L5L2T/fontsize/400/ ...

  4. Springboot系列:@SpringBootApplication注解

    在使用 Springboot 框架进行开发的时候,通常我们会在 main 函数上添加 @SpringBootApplication 注解,今天为大家解析一下 @SpringBootApplicatio ...

  5. N 个互异数的数组的平均逆序数

    N 个互异数的数组的平均逆序数为 N(N−1)/4 1. 简单证明 对于任意的数的表 L(5,8,9,6,4),以及其反序表 Lr(4,6,9,8,5),它们各自的逆序数分别为:6 ((5, 4), ...

  6. Android菜鸟的成长笔记(23)——获取网络和SIM卡信息

    TelephonyManager是一个管理手机通话状态.电话网络信息的服务类,该类提供了大量的getXxx()方法来获取电话网络的相关信息.这些信息包括设备编号.软件版本.网络运营商代号.网络运营商名 ...

  7. spring定时任务.线程池,自定义多线程配置

    定时任务及多线程配置xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  8. Windows下MinGW跨平台编译和使用log4cpp

    Log4cpp 是C++开源日志库,为 C++ 应用程序开发中提供了日志的追踪和调试功能,基于 LGPL 开源协议,移植自 java 的日志项目 log4j, 并在 api 上保持了一致性. 1. 环 ...

  9. Objective-C block实现代码分析

    block内部结构 让我们写一个block void exampleBlock() { // NSConcreteStackBlock int a = 1; __block int b = 2; in ...

  10. CodeForces Round#229 DIV2 C 递归DP

    这条路是只说哦话题,没有注意到k只有最大射程10,所以昨天晚上,一个很长的纠结.没有好的办法来处理,后来不情愿地去寻找解决问题的办法,研究发现,人们对开始到句子,由于k的范围比较小 所以....... ...