Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF中放大图片?_C#_Wpf - Fatal编程技术网

C# 如何在WPF中放大图片?

C# 如何在WPF中放大图片?,c#,wpf,C#,Wpf,我必须用WPF放大一张照片。问题是,操作后,图片仅显示一部分 我必须让它逐渐扩大。如何执行此操作?如果图像元素仅显示图片的一部分,则可以将“拉伸”属性更改为“均匀”(保留纵横比)或“填充”(不保留纵横比) 您可以使用用于RenderTransform属性的ScaleTransform放大图片而不影响应用程序的布局,也可以使用用于LayoutTransform属性的ScaleTransform放大图片以影响布局。ScaleTransform提供了两个重要属性ScaleX和ScaleY,它们分别影响

我必须用WPF放大一张照片。问题是,操作后,图片仅显示一部分


我必须让它逐渐扩大。如何执行此操作?

如果图像元素仅显示图片的一部分,则可以将“拉伸”属性更改为“均匀”(保留纵横比)或“填充”(不保留纵横比)

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

<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>

我认为您已将“图像拉伸”属性修改为“无”

设置高度和宽度属性:

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

在[您的来源]中,您将输入图像的来源。

@IonicăBiză很抱歉这么长时间没有选择。事实上,这是我朋友的问题,所以我几乎忘了。迟做总比不做强-