Irgendwo hab ich gelesen das System.Drawing obsolet sei. Jedenfalls gabs dort eine SelectActiveFrame Methode mit der man ganz einfach ein mehrseitiges Bild in einem Image Control anzeigen kann.
Was unter .NET 4 ein Einzeiler ist, braucht in Windows 8 und WinRt ein wenig mehr VB.NET Code
Dim pageCount As Integer = 0
Dim f As StorageFile
Private Async Function Button_Click_1(sender As Object, e As RoutedEventArgs) As Task
If f Is Nothing Then
Dim fo As New FileOpenPicker() 'Manifest fileopnepicker
fo.SuggestedStartLocation = PickerLocationId.PicturesLibrary
fo.ViewMode = PickerViewMode.Thumbnail
fo.FileTypeFilter.Clear()
fo.FileTypeFilter.Add(".tif")
f = Await fo.PickSingleFileAsync()
End If
Dim fileStream As IRandomAccessStream = Await f.OpenAsync(Windows.Storage.FileAccessMode.Read)
Dim imgDecode = Await BitmapDecoder.CreateAsync(BitmapDecoder.TiffDecoderId, fileStream)
Dim b1 As BitmapFrame = Await imgDecode.GetFrameAsync(pageCount)
Dim pData = Await b1.GetPixelDataAsync
Dim ims = New InMemoryRandomAccessStream()
Dim imgEncode = Await BitmapEncoder.CreateAsync(BitmapEncoder.TiffEncoderId, ims)
imgEncode.SetPixelData(
imgDecode.BitmapPixelFormat,
imgDecode.BitmapAlphaMode,
imgDecode.PixelWidth,
imgDecode.PixelHeight,
imgDecode.DpiX,
imgDecode.DpiY,
pData.DetachPixelData()
)
Await imgEncode.FlushAsync
ims.Seek(0)
Dim bi As New BitmapImage()
bi.SetSource(ims)
bild1.Source = bi
pageCount += 1
End Function
End Class