예제 #1
0
        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);
        }
예제 #2
0
        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);
        }