Wpf XAML:图像应显示特定的位图帧
下面是一篇短文,它应该能帮助你理解我的痛苦;( 我试图在图像控件中显示特定的位图帧(Tif页)。但找不到图像控件的任何适当成员Wpf XAML:图像应显示特定的位图帧,wpf,image,xaml,bitmap,Wpf,Image,Xaml,Bitmap,下面是一篇短文,它应该能帮助你理解我的痛苦;( 我试图在图像控件中显示特定的位图帧(Tif页)。但找不到图像控件的任何适当成员 <Image> <Image.Source> <BitmapImage DecodePixelWidth="500" UriSource="C:\...\MultiPage.tif" CacheOption="OnLoad"
<Image>
<Image.Source>
<BitmapImage
DecodePixelWidth="500"
UriSource="C:\...\MultiPage.tif"
CacheOption="OnLoad"
CreateOptions="PreservePixelFormat"
RenderOptions.BitmapScalingMode="HighQuality"
RenderOptions.EdgeMode="Aliased"
<!--The following line does not work of course but it should show what I mean:-->
BitmapFrameIndex="3"
/>
</Image.Source>
</Image>
BitmapFrameIndex=“3”
/
您可以使用在代码中完成此操作,但我不确定是否完全可以在XAML中完成此操作。提供了对图像中各个帧的访问:
TiffBitmapDecoder tiffBitmapDecoder = new TiffBitmapDecoder(new Uri(filename),
BitmapCreateOptions.None, BitmapCacheOption.None);
然后,您可以访问如下所示的单个帧:
BitmapFrame bitmapFrame = tiffBitmapDecoder.Frames[yourRequiredIndex];
或者从中创建一个BitmapSource
实例:
BitmapSource bitmapSource = tiffBitmapDecoder.Frames[yourRequiredIndex];
由于扩展了ImageSource
类,您应该能够直接将其设置为Image.Source
值:
YourImage.Source = bitmapSource;
@NoelWidmer您也许可以将其封装在派生的BitmapSource中,以使其在XAML中可用。