繁体   English   中英

如何在WPF中放大图片?

[英]How to enlarge a picture in WPF?

我必须在WPF中放大一张图片。 问题在于,操作后图片仅显示一部分。

而且我必须使其逐渐扩大。 我该怎么做?

我认为您将图像拉伸属性修改为none

设置HeightWidth属性:

<Image
   Height="165"
   HorizontalAlignment="Left"
   Name="image1" Stretch="Fill"
   VerticalAlignment="Top"
   Width="339"
   Source="[your source]" />

[your source]您将放置图像的来源。

如果图像元素仅显示图片的一部分,则可以将Stretch属性更改为“ Uniform”(保留纵横比)或“ Fill”(不保留)。

您可以将ScaleTransform用于RenderTransform属性来放大图片而不会影响应用程序的布局,也可以将ScaleTransform用于LayoutTransform属性来放大图片,从而影响您的布局。 ScaleTransform提供了两个重要的属性ScaleX和ScaleY,它们分别影响在X和Y轴上调整图像大小的方式。 若要逐渐应用此效果,必须使用DoubleAnimation。 您无需指定何时触发放大,因此出于示例目的,我假设您希望在用户将鼠标悬停在图像上时放大图像。 当用户将鼠标移出图像时,提供的代码还将逐渐减小图像的大小。 若要更改大小增加和减少的时间,请更改两个EventTriggers的RoutedEvent属性。

<Image Stretch="Uniform" Source="Penguins.jpg">
     <Image.RenderTransform>
          <ScaleTransform ScaleX="1" ScaleY="1" x:Name="scale" />
     </Image.RenderTransform>
     <Image.Triggers>
          <EventTrigger RoutedEvent="MouseEnter">
               <BeginStoryboard>
                    <Storyboard>
                         <DoubleAnimation Storyboard.TargetProperty="ScaleX"
                                          Storyboard.TargetName="scale" To="1.5"
                                          Duration="0:0:1" />
                         <DoubleAnimation Storyboard.TargetProperty="ScaleY"
                                          Storyboard.TargetName="scale" To="1.5"          
                                          Duration="0:0:1" />
                    </Storyboard>
               </BeginStoryboard>
          </EventTrigger>
          <EventTrigger RoutedEvent="MouseLeave">
               <BeginStoryboard>
                    <Storyboard>
                         <DoubleAnimation Storyboard.TargetProperty="ScaleX"
                                          Storyboard.TargetName="scale" To="1" 
                                          Duration="0:0:1" />
                         <DoubleAnimation Storyboard.TargetProperty="ScaleY"
                                          Storyboard.TargetName="scale" To="1" 
                                          Duration="0:0:1" />
                     </Storyboard>
               </BeginStoryboard>
          </EventTrigger>
     </Image.Triggers>
</Image>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM