【WPF】图片等可视化元素缩放变换及中心点设置

11 篇文章 1 订阅

可视化元素(包括图片、线等,继承自UIElement)可以实现2D变换,包括平移、旋转、缩放等,通过设置其两个属性来实现,可以设置的属性包括变换类型及变换的原点坐标设置。
这两个属性为:
(1)RenderTransform。表示进行的变换。
这个变换类型为Transform(类),该类有多个派生类,实现平移,缩放,旋转及各种组合等.
TranslateTransform:能够让某对象的位置发生平移变化。
RotateTransform:能够让某对象产生旋转变化,根据中心点进行顺时针旋转或逆时针旋转。
ScaleTransform:能够让某对象产生缩放变化。
SkewTransform:能够让某对象产生扭曲变化。
TransformGroup:能够让某对象的缩放、旋转、扭曲等变化效果合并起来使用。
MatrixTransform:能够让某对象通过矩阵算法实现更为复杂的变形。
(2)RenderTransformOrigin。变换的相对原点坐标。
用来定义所有RenderTransform变换中相对位置的的参考点,默认为图形的左上即(0,0),该属性值为相对值,即x和y方向的(0-1)分别指以本图形所在矩形(在Expression blend中可以看到 )的长和宽。
x,y方向可以分别设置。
特殊的点:
0,0:表示左上角,如此设置后动画会以左上角为基准点开始;
0.5,0.5:表示中心;
1,1:表示右下角。
设置例子,如下,转换中心点为中心:

<!--以图片中心点为中心-->
<Image x:Name="ShowImg" Source="{Binding ImageSrc}"  RenderTransform = "{Binding RendTransforGroup}" RenderTransformOrigin="0.5,0.5" />

设置RendTransforGroup组合,组合了平移和缩放。
也可以在后台设置可视化元素。

参考:
【1】https://www.xuebuyuan.com/141465.html
【2】https://www.cnblogs.com/xpvincent/archive/2013/03/04/2944906.html
【3】https://blog.csdn.net/qq_43623147/article/details/111269615
【4】https://docs.microsoft.com/en-us/dotnet/api/system.windows.uielement.rendertransform?view=net-5.0
【5】https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.transform?view=net-5.0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF(Windows Presentation Foundation)是一种用于创建并展示用户界面的技术。它可以被用于绘制大屏可界面,以满足特定的需求。 在WPF中,我们可以使用XAML(可扩展应用程序标记语言)来定义界面的外观和布局,以及使用C#或其他支持.NET编程语言来处理界面的逻辑和数据。因此,我们可以轻松地创建出功能丰富、交互性强的大屏可界面。 在绘制大屏可界面时,WPF提供了多种强大的图形和绘制功能。我们可以使用各种图形元素(如矩形、椭圆、文本等)来创建界面中的图形组件,也可以使用画笔、刷子和渐变来设置元素的颜色和填充方式。此外,WPF还支持高级的效果和动画特性,可以为界面添加觉上的吸引力和交互性。 另外,WPF还提供了数据绑定和模板功能,以简界面与数据的关联和展示。我们可以绑定数据源到界面上的控件,实现数据的实时显示和更新。同时,通过使用模板,我们可以定义可重复使用的界面部件,大大提高界面的开发效率。 对于大屏可界面而言,WPF还具有自适应和自定义布局的能力。我们可以使用栅格、面板和容器等布局控件来实现灵活的界面排列,以适应不同分辨率或屏幕尺寸。此外,WPF还支持自定义控件的创建和样式的定义,可以根据需要完全定制界面的外观和行为。 总而言之,WPF提供了一套强大的工具和功能,可以帮助我们绘制出功能丰富、交互性强的大屏可界面。其灵活性和可定制性使得开发人员可以根据具体需求去实现各种复杂的觉效果和交互功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值