private BC_ViewPoint GetViewPoint() { BC_ViewPoint viewpoint = null; uint numberOfComments = this.issue.GetNumberOfComments(); if (numberOfComments == 0) { viewpoint = this.GetDefaultViewPoint(); } else { BC_Comment comment = this.issue.GetCommentByIndex(0); viewpoint = comment.GetViewPoint(); } return(viewpoint); }
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); }