zoukankan      html  css  js  c++  java
  • WP7备注(16)(Transform)

    基本变化实例:

    常用Transform的演示

    <TextBlock>
    <TextBlock.RenderTransform>
    <ScaleTransform ScaleX="2" ScaleY="3" />
    </TextBlock.RenderTransform>
    </TextBlock>
    <TextBlock Text="Transform Experiment"
    HorizontalAlignment="Center"
    VerticalAlignment="Center">
    <TextBlock.RenderTransform>
    <TransformGroup>
    <ScaleTransform ScaleX="1" ScaleY="1"
    CenterX="0" CenterY="0" />
    <SkewTransform AngleX="0" AngleY="0"
    CenterX="0" CenterY="0" />
    <RotateTransform Angle="0"
    CenterX="0" CenterY="0" />
    <TranslateTransform X="0" Y="0" />
    </TransformGroup>
    </TextBlock.RenderTransform>
    </TextBlock>

    CompositeTransform的使用:

    CompositeTransform提供了一种在Code中进行手动添加变换的支持:

    <TextBlock Name="txtblk">
    <TextBlock.RenderTransform>
    <CompositeTransform />
    </TextBlock.RenderTransform>
    </TextBlock>
    CompositeTransform xform = txtblk.RenderTransform as CompositeTransform;
    xform.CenterX = textSize.Height / 2;
    xform.CenterY = textSize.Height / 2;
    xform.ScaleX = scale;
    xform.ScaleY = scale;
    xform.Rotation = angle - 90;
    xform.TranslateX = gridCenter.X - textSize.Height / 2;
    xform.TranslateY = gridCenter.Y - textSize.Height / 2;

    同时程序也提供了一种和程序帧一起同步更新变换的方式:

    CompositionTarget.Rendering += OnCompositionTargetRendering;
    
    void OnCompositionTargetRendering(object sender, EventArgs args)
    {
    TimeSpan renderingTime = (args as RenderingEventArgs).RenderingTime;
    //更新变换属性
    }
  • 相关阅读:
    Android启动过程介绍
    第九届蓝桥杯Java B组
    二分模板和区别
    第十届蓝桥杯Java B组
    2019 ICPC Asia Nanjing Regional(现场赛)
    PAT 甲级 1057 Stack
    P1972 [SDOI2009]HH的项链
    Python中的字典排序
    Comet OJ
    ekmp模板
  • 原文地址:https://www.cnblogs.com/otomii/p/2031724.html
Copyright © 2011-2022 走看看