深入探索:Silverlight 中的画笔、变换与位图技术
1. ImageBrush 与图像拉伸
ImageBrush 的 ImageSource 属性和 Image 元素的 Source 属性工作方式相同,可通过指向项目嵌入文件或网络位置的 URI 来设置。需要注意的是,Silverlight 会保留图像中的透明度信息,例如支持 PNG 文件中的透明区域。
当使用 ImageBrush 绘制单元格背景时,图像会拉伸以适应填充区域。若网格尺寸大于图像原始大小,图像可能会出现缩放失真(如模糊);若网格形状与图像宽高比不匹配,图像会变形以适应。可通过修改 ImageBrush.Stretch 属性来控制此行为,其取值如下表所示:
| 名称 | 描述 |
| — | — |
| Fill | 图像在宽度和高度上拉伸以完全适应容器,这是默认值。 |
| None | 图像不拉伸,使用其原始大小,超出部分将被裁剪。 |
| Uniform | 宽度和高度按比例增加,直到图像到达容器边缘,保留图像宽高比,但可能会有额外空白。 |
| UniformToFill | 宽度和高度按比例增加,直到形状填满所有可用的高度和宽度,保留图像宽高比,但图像可能会被裁剪以适应区域。 |
如果图像绘制得小于填充区域,图像将根据 AlignmentX 和 AlignmentY 属性对齐,未填充区域保持透明。
2. 透明度的实现方式
Silverlight 支持真正的透明度,可通过以下几种方式使元素部分透明:
- 设置元素的 Opacity 属性 :Opacit
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



