private ImageSource GetThumbnail() { var image = new Image(); if (this.comment.HasViewPoint()) { BC_ViewPoint viewPoint = this.comment.GetViewPoint(); if (viewPoint.HasSnapShot()) { BC_SnapShot snapShot = viewPoint.GetSnapShot(); uint imageSize = snapShot.GetThumbnailSize(); if (snapShot.HasImage()) { var imageArray = new byte[(int)imageSize]; snapShot.GetThumbnail(imageArray, imageSize); using (var stream = new MemoryStream(imageArray)) { image.Source = BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad); } } } } return(image.Source); }
private ImageSource GetIssueSnapshot() { var image = new Image(); uint numberOfComments = this.issue.GetNumberOfComments(); if (numberOfComments == 0) { return(image.Source); } uint latestCommentIndex = numberOfComments - 1; BC_Comment comment = this.issue.GetCommentByIndex(latestCommentIndex); if (comment.HasViewPoint()) { BC_ViewPoint viewPoint = comment.GetViewPoint(); if (viewPoint.HasSnapShot()) { BC_SnapShot snapShot = viewPoint.GetSnapShot(); uint imageSize = snapShot.GetImageSize(); if (snapShot.HasImage()) { var imageArray = new byte[(int)imageSize]; snapShot.GetImage(imageArray, imageSize); using (var stream = new MemoryStream(imageArray)) { image.Source = BitmapFrame.Create(stream, BitmapCreateOptions.None, BitmapCacheOption.OnLoad); } } } } return(image.Source); }