我想在Silverlight里旋转图片,试了很多办法都不对;
  1. <Image Opacity=".5" x:Name="compassImg" Source="compass.png">
  2.         <Image.RenderTransform>
  3.             <RotateTransform x:Name="compassRotator"></RotateTransform>
  4.         </Image.RenderTransform>
  5.     </Image>
  6. +
  7.     void compass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)
  8.     {
  9.         Dispatcher.BeginInvoke(() =>
  10.         {
  11.             compassRotator.Angle = e.SensorReading.TrueHeading;
  12.         });
  13.     }
复制代码

  1. <Image Opacity=".5" x:Name="compassImg" Source="compass.png"></Image>
  2. +
  3.     void compass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e)
  4.     {
  5.         Dispatcher.BeginInvoke(() =>
  6.         {
  7.             compassImg.RenderTransform = new CompositeTransform()
  8.             {
  9.                 CenterX = 0.5,
  10.                 CenterY = 0.5,
  11.                 Rotation = e.SensorReading.TrueHeading
  12.             };
  13.             //OR (variations with 0.5 and width / 2 for both composite and rotate
  14.             compassImg.RenderTransform = new RotateTransform()
  15.             {
  16.                 CenterX = compassImg.Width / 2,
  17.                 CenterY = compassImg.Height / 2,
  18.                 Angle = e.SensorReading.TrueHeading
  19.             };
  20.         });
  21.     }
复制代码
该怎么搞?
中级工程师 2# tangobobby 发表于 2012-2-23 12:29:46
  1. <StackPanel HorizontalAlignment="Left">
  2.     <TextBlock>Center X</TextBlock>
  3.     <Slider  
  4.         Name="RTX" Minimum="0.0" Maximum="116"  />
  5.     <TextBlock>Center Y</TextBlock>
  6.     <Slider
  7.         Name="RTY" Minimum="0.0" Maximum="800"/>
  8.     <TextBlock>Angle</TextBlock>
  9.     <Slider
  10.         Name="Angle" Minimum="0.0" Maximum="360" />
  11. </StackPanel>
  12. <Image Source="{Binding ImagePath}" Name="image1">
  13.     <Image.RenderTransform>
  14.         <RotateTransform Angle="{Binding ElementName=Angle,Path=Value}"
  15.              CenterX="{Binding ElementName=RTX, Path=Value}"
  16.              CenterY="{Binding ElementName=RTY, Path=Value}"/>               
  17.     </Image.RenderTransform>
  18. </Image>
复制代码


http://msdn.microsoft.com/en-us/library/system.windows.media.rotatetransform.centerx.aspx
您需要登录后才可以回帖 登录 | 注册

关于我们|手机版|Archiver|DEVDIV.COM ( 京ICP备07040843号 )  

GMT+8, 2012-5-19 17:06

Powered by DEVDIV.COM!

© 2010-2012 DEVDIV.COM Coummunity.

回顶部