zoukankan      html  css  js  c++  java
  • Silverlight中图像的变换(1)

      RenderTransform属性让你可以使用transform对象对一个元素进行旋转,倾斜,缩放及偏移操作.共有下面几种不同的transform对象:
    • RotateTransform: 以指定角度旋转对象.
    • SkewTransform: 对对象进行倾斜操作.
    • ScaleTransform: 对对象进行放大或者缩小操作.
    • TranslateTransform: 使对象从原坐标偏移.
        此外,还有一种特殊类型的transform对象: TransformGroup.使用它,可以对一个对象应用多用操作.

        下面是SDK中的例子,代码如下:
    <Canvas Width="300" Height="300"
        xmlns
    ="http://schemas.microsoft.com/client/2007"
        xmlns:x
    ="http://schemas.microsoft.com/winfx/2006/xaml"
      
    >
      
    <Rectangle Height="100" Width="100" Canvas.Left="70" Canvas.Top="10"
          Fill
    ="Black">
        
    <Rectangle.RenderTransform>
          
    <RotateTransform Angle="45"/>
        
    </Rectangle.RenderTransform>
      
    </Rectangle>
      
      
    <Rectangle Height="100" Width="100" Canvas.Left="130" Canvas.Top="10"
          Fill
    ="red">
        
    <Rectangle.RenderTransform>
          
    <SkewTransform AngleX="30"/>
        
    </Rectangle.RenderTransform>
      
    </Rectangle>
      
      
    <Rectangle Height="100" Width="100" Canvas.Left="10" Canvas.Top="190"
          Fill
    ="blue">
        
    <Rectangle.RenderTransform>
          
    <ScaleTransform ScaleX="1.3" ScaleY=".5"/>
        
    </Rectangle.RenderTransform>
      
    </Rectangle>
      
      
    <Rectangle Height="100" Width="100" Canvas.Left="160" Canvas.Top="130"
          Fill
    ="Green">
        
    <Rectangle.RenderTransform>
          
    <TransformGroup>
            
    <RotateTransform Angle="45"/>
            
    <ScaleTransform ScaleX=".5" ScaleY="1.2"/>
            
    <SkewTransform AngleX="30"/>
          
    </TransformGroup>
        
    </Rectangle.RenderTransform>
      
    </Rectangle>
      
    </Canvas>
        效果图如下图所示:

        这里是直接在XAML中设置,其实,除此之外还可以用JS函数进行设置.下面给出简单的示例代码:
        var sTransformG = '<TransformGroup/>';
        
    var oTransformG = oHost.createFromXaml(sTransformG);

        
    var sTransformCollection = '<TransformCollection/>';
        
    var oTransformCollection = oHost.createFromXaml(sTransformCollection);

        
    var sRotateTransform = '<RotateTransform/>';
        
    var oRotateTransform = oHost.createFromXaml(sRotateTransform);
        oRotateTransform.Angle 
    = 50;

        oTransformCollection.Add(oRotateTransform);

        
    var sScaleTransform = '<ScaleTransform/>';
        
    var oScaleTransform = oHost.createFromXaml(sScaleTransform);
        oScaleTransform.ScaleX 
    = 5;
        oScaleTransform.ScaleY 
    = 5;

        oTransformCollection.Add(oScaleTransform);

        oTransformG.Children 
    = oTransformCollection;
        oObject.RenderTransform 
    = oTransformG;

        使用RotateTransform时,图形按顺时针方向旋转.

    原文链接:http://www.cnblogs.com/cime63/archive/2007/04/19/720169.html

  • 相关阅读:
    《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---07
    《Linux命令行与shell脚本编程大全 第3版》高级Shell脚本编程---05
    shell-查看手机分辨率
    imageView-scaleType 图片压缩属性
    actionbar-displayOptions 属性分析
    setting.system-全局属性的设定
    ActivityChooserView-如何隐藏选择的应用图标
    mIsFunui-判断Funui方法
    setting-在设置中添加新的选项
    install-软件安装跟push的区别
  • 原文地址:https://www.cnblogs.com/drolepeng/p/1607276.html
Copyright © 2011-2022 走看看