Silverlight图形:变换

您可以在 Silverlight 中使用二维 (2-D) Transform 类来旋转、按比例缩放、扭曲和移 动(平移)对象。下面的示例应用了可以旋转和扭曲一行文本的变换。

XAML

<StackPanel>
  <TextBlock FontSize="28" Text="Hello">
   <TextBlock.RenderTransform>
    <TransformGroup>
     <RotateTransform Angle="45" />
     <SkewTransform CenterX="0" CenterY="0" AngleX="60"/>
    </TransformGroup>
   </TextBlock.RenderTransform>
  </TextBlock>
</StackPanel>

什么是变换?

Transform 定义如何将一个坐标空间中的点映射或变换到另一个坐标空间。此映射由变换 Matrix(一个三行三列的 Double 值集合)来描述。

说明:
Silverlight 使用行优先矩阵。矢量用行矢量(而不是列矢量)表示。

下表显示了 Silverlight 矩阵的结构。

M11
默认值:1.0
M12
默认值:0.0
0.0
M21
默认值:0.0
M22
默认值:1.0
0.0
OffsetX
默认值:0.0
OffsetY
默认值:0.0
1.0

通过处理矩阵值,您可以旋转、按比例缩放、扭曲和移动(平移)对象。例如,如果将第 三行第一列中的值(OffsetX 值)更改为 100,则可以将某一对象沿 x 轴移动 100 个单位 。如果将第二行第二列中的值更改为 3,您可以将某一对象拉伸为其当前高度的三倍。如果 同时更改两个值,则可将对象沿 x 轴移动 100 个单位并将其高度拉伸为原来的 3 倍。由于 Silverlight 仅支持仿射变换,因此右列中的值始终为 0、0、1。

尽管 Silverlight 使您能够直接处理矩阵值,但它还提供了许多 Transform 类,您可以 使用这些类来变换对象,而无需了解基础矩阵结构的配置方式。例如,利用 ScaleTransform 类,您可以通过设置对象的 ScaleX 和 ScaleY 属性来按比例缩放对象,而不用处理变换矩 阵。同样,利用 RotateTransform 类,您只需通过设置对象的 Angle 属性即可旋转对象。

时间: 2024-10-30 23:18:06

Silverlight图形:变换的相关文章

ios-一个简单的图形变换算法,谁来帮帮我

问题描述 一个简单的图形变换算法,谁来帮帮我 我再明确一下问题 输入:平面任意四点坐标:一个边长128像素的正方形素材图 输出:将素材图贴入该平面,任意四点分别对应该素材图四个顶点 如果你的公式能完成以上操作,就告诉我 我要的是能在iOS上跑通的程序 我这里写的公式绝对比你这边的多,但是我都没办法实现,各种原因 好吧,直接求代码,对一个程序员来说,很丢脸了,但我已经只能不要脸了 解决方案 这4个点自然形成一个CGRect, 怎么计算出这个rect 应该不难. 有了这个CGRect, 就可以 im

js实现的页面矩阵图形变换特效_javascript技巧

本文实例讲述了js实现的页面矩阵图形变换特效.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>matrix</title> <style type="

Silverlight图形:路径标记语法

先决条件 您应当熟悉 Geometry 对象的基本功能. 路径 Mini-Language Silverlight 提供了可以将几何路径描述为 XAML 中的属性值的 mini-language.当您在 设置类型 Geometry 的属性(如 UIElement 的 Clip 属性或 Path 元素的 Data 属性)时, 就会使用这种 mini-language.下面的示例使用路径属性语法来创建形状. XAML <Canvas> <Path Stroke="Black&quo

Android中使用Matrix控制图形变换和制作倒影效果的方法_Android

最近在使用Matrix进行绘图的操作.对Matrix的一些方法有了一些更深的体会,记下来,以便日后复习. Matrix常用的方法: 一.变换方法: Matrix提供了translate(平移).rotate(旋转).scale(缩放).skew(倾斜)四种操作,这四种操作的内部实现过程都是通过matrix.setValues(-)来设置矩阵的值来达到变换图片的效果. Matrix的每种操作都有set.pre.post三种操作,set是清空队列再添加,pre是在队列最前面插入,post是在队列最后

详解iOS的Core Animation框架中的CATransform3D图形变换_IOS

一.矩阵坐标CATransform3D定义了一个变化矩阵,通过对矩阵参数的设置,我们可以改变layer的一些属性,这个属性的改变,可以产生动画的效果.CATransform3D CATransform3DMakeTranslation (CGFloat tx, CGFloat ty, CGFloat tz)tx:X轴偏移位置,往下为正数. ty:Y轴偏移位置,往右为正数. tz:Z轴偏移位置,往外为正数. 例: 如果有2个图层,一个是绿色的,一个是红色的.先加载绿色,后加载红色. tx,ty的左

Silverlight图形:几何图形

什么是 Geometry? Geometry 对象(如 EllipseGeometry.PathGeometry 和 GeometryGroup)可以用于描绘 二维 (2-D) 形状的几何图形.这些几何图形的描绘具有许多用途,例如,定义一个要绘制到 屏幕的形状或者定义剪辑区域.Geometry 对象可以很简单(如矩形和圆),也可以是基于两 个或更多个 Geometry 对象创建的复合形状.使用 PathGeometry 对象可以创建更复杂的几 何图形,这些对象可用于描绘弧线和曲线. Geomet

Silverlight图形:三维效果(透视转换)

您可以使用"透视转换"来将三维效果应用于任何 Silverlight UIElement.例如,您可以 制造这样一个假象,即对象朝向您或远离您进行旋转,如下图中所示. 使用透视转换的图像 尽管上图中显示了应用于一个简单图像的透视转换,但您可以将透视转换应用于 UIElement,包括控件.例如,您可以将该效果应用于 Grid,而后者又包含 TextBox 和 Button.尽管旋转这些控件,但用户可以在 TextBox 中键入内容并单击 Button(假定这些 控件可见). 使用透视转

Silverlight图形:图像处理

创建图像 为了呈现图像,您可以使用 Image 或 ImageBrush 对象.下面的示例演示如何创建图像 . XAML <Image Source="myPicture.png" /> VB Dim myImage As Image = New Image myImage.Source = New BitmapImage(New Uri("myPicture.jpg", UriKind.RelativeOrAbsolute)) LayoutRoot.C

Silverlight图形:像素着色器效果

使用像素着色器效果可以向呈现的对象添加效果,如灰度.红眼消除.像素亮度和阴影.像素着色器效果使用算法来更改显示像素的方式.例如,下图显示应用于某一按钮的投影. 您可以使用 Silverlight 运行时附带的像素着色器效果,也可以自己创建. 说明: Silverlight 中的像素着色器效果以软件方式呈现.任何应用效果的对象也都将以软件方式呈现.对大型可视对象应用效果或对效果的属性进行动画处理时,性能的降低程度最大.因此,使用效果时应谨慎并进行充分的测试,以确保您的用户获得的体验和您预期的一样.