我正在尝试在Image
控件中显示图像的固定部分。SourceBitmapImage
来自磁盘或 Web 资源,并且是异步加载的。
我尝试使用CroppedImage
<UserControl.Resources>
<CroppedBitmap x:Key="croppedImage" Source="{Binding Image}" SourceRect="20 46 273 202"/>
</UserControl.Resources>
...
<Image x:Name="TemplateImage" Height="202" Width="273" HorizontalAlignment="Left" Source="{StaticResource croppedImage}"/>
这会XamlParseException
在尝试创建CroppedBitmap
.
我也在后面的代码中试过这个(C#)
new CroppedBitmap(Image, new System.Windows.Int32Rect(20, 46, 273, 202))
从网络资源加载时给我一个ArgumentException
,说明该值超出预期范围。我想这是由于图像尚未加载,因此没有大小。
有没有办法做到这一点(不一定用 a CroppedImage
),而不必预加载图像?
顺便说一句:将BitmapImage
直接作为源提供给Image
控件可以正常工作,但这当然不会进行裁剪。