2014-09-24 66 views
1

以下是應該幫助你理解我的不幸的短片;( 我試圖在圖片控件中顯示特定的位圖幀(Tif頁)但我找不到圖像控制的任何適當的成員。XAML:圖片應該顯示特定的位圖幀

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

回答

0

你可以做,在使用TiffBitmapDecoder Class代碼,但我不那麼肯定,它可以在XAML純粹的完成。該TiffBitmapDecoder.Frames property提供了從單個幀訪問圖片:

TiffBitmapDecoder tiffBitmapDecoder = new TiffBitmapDecoder(new Uri(filename), 
    BitmapCreateOptions.None, BitmapCacheOption.None); 

然後你就可以訪問一個框架是這樣的:

BitmapFrame bitmapFrame = tiffBitmapDecoder.Frames[yourRequiredIndex]; 

或者從它創建一個BitmapSource實例,而不是:

BitmapSource bitmapSource = tiffBitmapDecoder.Frames[yourRequiredIndex]; 

由於BitmapSource Class擴展ImageSource類,那麼你應該可以設置此直接爲Image.Source值:

YourImage.Source = bitmapSource; 
+0

是啊,就是這樣......謝謝 – 2014-09-24 09:46:35

+0

@NoelWidmer你可以p也可以將其包裝在派生的BitmapSource中,以使其可用於XAML。 – Clemens 2014-09-24 10:41:18