ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-07-27 09:05:05  阅读:158  来源: 互联网

标签:设置 缩放 变换 ScaleRate 可视化 https WPF net


xaml:

<StackPanel>
<Canvas MouseWheel="Canvas_MouseWheel">
    <Canvas.RenderTransform><ScaleTransform x:Name="st"/>        
   </Canvas.RenderTransform>
<TextBlock>Some text</TextBlock></Canvas>
</StackPanel>

c#:

const double ScaleRate = 1.1;
  privatevoid Canvas_MouseWheel(object sender, MouseWheelEventArgs e)
  {
   if(e.Delta>0)
   {
    st.ScaleX *= ScaleRate;
    st.ScaleY *= ScaleRate;
   }
   else
   {
    st.ScaleX /= ScaleRate;
    st.ScaleY /= ScaleRate;
   }
  }    

ScaleTransform scaletransform = new ScaleTransform();

canvas.RenderTransform = scaletransform;

可视化元素(包括图片、线等,继承自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
————————————————
版权声明:本文为CSDN博主「一叶清风扬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kevinshift/article/details/113814586

标签:设置,缩放,变换,ScaleRate,可视化,https,WPF,net
来源: https://www.cnblogs.com/guangzhiruijie/p/16523391.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有