【发布时间】:2013-12-30 22:49:27
【问题描述】:
我是 WPF 新手,找不到解决方法。我有一个在 XAML 中定义的基本图像控件。我正在将位图图像动态加载到此控件。问题是一些位图在图像控件中被翻转,当它被加载并且我想以它的默认方向加载所有图像时。
这是我的 XAML:
<StackPanel Width="Auto" DockPanel.Dock="Left" Margin="1,1,0,1" Orientation="Vertical" Background="{DynamicResource {x:Static SystemColors.GradientActiveCaptionBrushKey}}" HorizontalAlignment="Left" VerticalAlignment="Stretch" Height="Auto" >
<Image x:Name="Photo" Stretch="Uniform" Height="149" Width="134" Margin="21,25,0,20" HorizontalAlignment="Left" VerticalAlignment="Top" />
</StackPanel>
c#代码:
BitmapImage img = new BitmapImage();
img.BeginInit();
img.UriSource = new Uri(child.profilPoto.path, UriKind.Absolute);
img.EndInit();
Photo.Source = img;
谢谢
编辑:
这是一个图像链接:img 在左侧有一个图像在 WPF 中的显示方式。右边是原图。
编辑 2: Original image
已解决 谢谢大家。这是元数据问题。我有很多带有错误元数据的照片。当我尝试从其他相机加载图像时,一切正常。在某些编辑器中保存损坏的图像后,照片会正确加载。
【问题讨论】:
-
我看不出上面的代码有什么问题。
-
我无法用代码重现它。你能展示在 WPF 图像控件中查看原始图像时的不同之处吗?
-
是否任何比例变换或任何其他变换应用于其父级?
-
请张贴原图文件
-
@user2957509,我怀疑图像在其元数据中指定了非默认方向,但事实并非如此。我尝试在 WPF 应用程序中显示它,并且显示正确(无旋转)。