WPF 通过透明度遮罩和变换制作倒影效果

简介: 原文:WPF 通过透明度遮罩和变换制作倒影效果  倒影效果 代码   更加复杂的应用 参考 https://blogs.
原文: WPF 通过透明度遮罩和变换制作倒影效果

 

倒影效果

image

代码

<Canvas 
  xmlns=“http://schemas.microsoft.com/client/2007“
  xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml“>

  <!– The object to reflect. –>
  <Image Source=“gear_large.png“
    Canvas.Left=“75“ Canvas.Top=“20“>
  </Image>

  <!– The reflection. –>
  <Image Source=“gear_large.png” 
    Canvas.Left=“75“ Canvas.Top=“228”
    Opacity=“0.75”>
    <Image.RenderTransform> 
      <ScaleTransform ScaleY=“-0.75“ /> 
    </Image.RenderTransform> 
    <Image.OpacityMask>
      <LinearGradientBrush StartPoint=“0.5,0.0“ EndPoint=“0.5,1.0“> 
        <GradientStop Offset=“0.0“ Color=“#00000000“ /> 
        <GradientStop Offset=“1.0“ Color=“#FF000000“ /> 
      </LinearGradientBrush> 
    </Image.OpacityMask> 
  </Image> 

</Canvas>

 

更加复杂的应用

image

参考

https://blogs.msdn.microsoft.com/wpfedevcon/2007/01/05/use-transforms-and-opacity-masks-to-create-a-reflection-in-wpfe/

Opacity Masks Overview

目录
相关文章
|
17天前
|
C#
WPF —— 动画缩放变换
`ScaleTransform`用于二维x-y坐标系中对象的缩放,可沿X或Y轴调整。在故事板中,通过RenderTransform.ScaleX和ScaleY属性控制缩放。示例代码展示了如何设置按钮的RenderTransformOrigin、Background等属性,并通过LayoutTransform应用ScaleTransform。当鼠标进入按钮时,EventTrigger启动DoubleAnimation实现X和Y轴的缩放动画。最后,展示了如何将动画集成到自定义按钮样式中。
12 0
|
C#
WPF中的3D变换PlaneProjection
原文:WPF中的3D变换PlaneProjection 在UWP中有一个比较好用的伪3D变换PlaneProjection,可以以一种轻量级和非常简单的方式实现3D的效果。这种效果在Silverlight中也有这种变换,但在WPF中确一直没有提供。
861 0
|
C# 小程序
WPF 3D变换应用
原文:WPF 3D变换应用  WPF可以提供的3D模型使我们可以轻松地创建3D实体,虽然目前来看还很有一些性能上的问题,不过对于一些简单的3D应用应该是可取的,毕竟其开发效率高,而且也容易上手。         下面给大家演示的是使用在WPF 3D上实现视角变换,通过鼠标拖动来变换观察视角,通过滚轮来放缩视距。
703 0
|
C# 索引 容器
WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画
原文:WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画 利用WPF的ListView控件实现类似于Winform中DataGrid行背景色交替变换的效果,同时增加鼠标的悬停效果。
1733 0
|
C#
【C#/WPF】Image图片的Transform变换:平移、缩放、旋转
原文:【C#/WPF】Image图片的Transform变换:平移、缩放、旋转 WPF中图像控件Image的变换属性Transform: 平移 缩放 旋转 即要想实现图片的平移、缩放、旋转,是修改它所在的Image控件的Transform变换属性。
4737 0
|
C# 小程序
WPF 3D 小小小小引擎 - &#183;WPF 3D变换应用
原文:WPF 3D 小小小小引擎 - ·WPF 3D变换应用         WPF可以提供的3D模型使我们可以轻松地创建3D实体,虽然目前来看还很有一些性能上的问题,不过对于一些简单的3D应用应该是可取的,毕竟其开发效率高,而且也容易上手。
1308 0
|
C#
二维图形的矩阵变换(二)——WPF中的矩阵变换基础
原文:二维图形的矩阵变换(二)——WPF中的矩阵变换基础 在前文二维图形的矩阵变换(一)——基本概念中已经介绍过二维图像矩阵变换的一些基础知识,本文中主要介绍一下如何在WPF中进行矩阵变换。   Matrix结构 在WPF中,用Matrix结构(struct类型)表示二维变换矩阵,它是一个3*3的数组,结构如下,      由于第三列是常量0,0,1,因此并不作为公开属性,可见的只有剩余六个属性。
1204 0
|
C# 存储
二维图形的矩阵变换(三)——在WPF中的应用矩阵变换
原文:二维图形的矩阵变换(三)——在WPF中的应用矩阵变换 UIElement和RenderTransform 首先,我们来看看什么样的对象可以进行变换。在WPF中,用于呈现给用户的对象的基类为Visual类,但是Visual对象并不具有变换功能,具有变换功能的是它的子类UIElement。
1108 1
|
C#
WPF 3D:使用变换中的TranslateTransform3D
原文: WPF 3D:使用变换中的TranslateTransform3D 程序效果:   WPF 3D中的TranslateTransform3D应该是所有3D变换中最简单的变换,使用起来非常简单,先定义好3D对象,接着在适当的位置加入变换就可以了。
1206 0