public async void OpenIllustBrowser(Illustration illustration, bool record = true) { if (!illustration.FromSpotlight && record) { PixivHelper.RecordTimelineInternal(new BrowsingHistory { BrowseObjectId = illustration.Id, BrowseObjectState = illustration.Title, BrowseObjectThumbnail = illustration.Thumbnail, IllustratorName = illustration.UserName, IsReferToIllust = true, Type = "illust" }); } IllustBrowserDialogHost.DataContext = illustration; await Task.Delay(100); IllustBrowserDialogHost.OpenControl(); var userInfo = await HttpClientFactory.AppApiService() .GetUserInformation(new UserInformationRequest { Id = illustration.UserId }); if (await PixivIO.FromUrl(userInfo.UserEntity.ProfileImageUrls.Medium) is { } avatar) { SetImageSource(IllustBrowserUserAvatar, avatar); } }
private async void TrendingTagThumbnail_OnLoaded(object sender, RoutedEventArgs e) { if (await PixivIO.FromUrl(sender.GetDataContext <TrendingTag>().Thumbnail) is { } image) { SetImageSource(sender, image); } }
private async void IllustBrowserDialogHost_OnDialogOpened(object sender, DialogOpenedEventArgs e) { var context = sender.GetDataContext <Illustration>(); var list = new ObservableCollection <TransitionerSlide>(); var template = new IllustTransitioner(list); IllustBrowserContainer.Children.Insert(1, template); if (context.IsManga) { if (context.MangaMetadata.IsNullOrEmpty()) { context = await PixivHelper.IllustrationInfo(context.Id); } var tasks = await Tasks <Illustration, (BitmapImage image, Illustration illust)> .Of(context.MangaMetadata) .Mapping(illustration => Task.Run(async() => (await PixivIO.FromUrl(illustration.Large), illustration))) .Construct() .WhenAll(); list.AddRange(tasks.Select(i => InitTransitionerSlide(i.image, i.illust))); } else { list.Add(InitTransitionerSlide(await PixivIO.FromUrl(context.Large), context)); } }
private async void SetUserBrowserContext(User user) { var usr = await HttpClientFactory.AppApiService.GetUserInformation(new UserInformationRequest { Id = $"{user.Id}" }); var usrEntity = new User { Avatar = usr.UserEntity.ProfileImageUrls.Medium, Background = usr.UserEntity.ProfileImageUrls.Medium, Follows = (int)usr.UserProfile.TotalFollowUsers, Id = usr.UserEntity.Id.ToString(), Introduction = usr.UserEntity.Comment, IsFollowed = usr.UserEntity.IsFollowed, IsPremium = usr.UserProfile.IsPremium, Name = usr.UserEntity.Name, Thumbnails = user.Thumbnails }; UserBrowserPageScrollViewer.DataContext = usrEntity; SetUserBanner(usrEntity.Id); SetUserBanner(usrEntity.Id); SetImageSource(UserBrowserUserAvatar, await PixivIO.FromUrl(usrEntity.Avatar)); SetupUserUploads(usrEntity.Id); }
public async void SetUserBrowserContext(User user) { var usr = await HttpClientFactory.AppApiService() .GetUserInformation(new UserInformationRequest { Id = $"{user.Id}" }); var usrEntity = new User { Avatar = usr.UserEntity.ProfileImageUrls.Medium, Background = usr.UserEntity.ProfileImageUrls.Medium, Follows = (int)usr.UserProfile.TotalFollowUsers, Id = usr.UserEntity.Id.ToString(), Introduction = usr.UserEntity.Comment, IsFollowed = usr.UserEntity.IsFollowed, IsPremium = usr.UserProfile.IsPremium, Name = usr.UserEntity.Name, Thumbnails = user.Thumbnails }; PixivHelper.RecordTimelineInternal(new BrowsingHistory { BrowseObjectId = usrEntity.Id, BrowseObjectState = usrEntity.Name, BrowseObjectThumbnail = usrEntity.Avatar, IsReferToUser = true, Type = "user" }); UserBrowserPageScrollViewer.DataContext = usrEntity; SetUserBanner(usrEntity.Id); SetImageSource(UserBrowserUserAvatar, await PixivIO.FromUrl(usrEntity.Avatar)); SetupUserUploads(usrEntity.Id); }
private async Task AddUserNameAndAvatar() { if (!Identity.Global.AvatarUrl.IsNullOrEmpty() && !Identity.Global.Name.IsNullOrEmpty()) { UserName.Text = Identity.Global.Name; UserAvatar.Source = await PixivIO.FromUrl(Identity.Global.AvatarUrl); } }
private async Task AddUserNameAndAvatar() { if (!Session.Current.AvatarUrl.IsNullOrEmpty() && !Session.Current.Name.IsNullOrEmpty()) { UserName.Text = Session.Current.Name; UserAvatar.Source = await PixivIO.FromUrl(Session.Current.AvatarUrl); } }
private async void LoadThumbnail() { var imgSource = await PixivIO.FromUrl(Illust.Thumbnail); if (ImgSource == null) { Dispatcher.Invoke(() => ImgSource = imgSource); } }
private async void BrowsingHistoryAvatarImage_OnLoaded(object sender, RoutedEventArgs e) { var browsing = sender.GetDataContext <BrowsingHistory>(); if (browsing.IsReferToUser) { UiHelper.SetImageSource(sender, await PixivIO.FromUrl(browsing.BrowseObjectThumbnail)); } }
private async void ReferUserAvatar_OnLoaded(object sender, RoutedEventArgs e) { var trend = sender.GetDataContext <Trends>(); if (trend.IsReferToUser) { SetImageSource(sender, await PixivIO.FromUrl(trend.TrendObjectThumbnail)); } }
private async void Thumbnail_OnLoaded(object sender, RoutedEventArgs e) { var dataContext = sender.GetDataContext <Illustration>(); if (dataContext != null && Uri.IsWellFormedUriString(dataContext.Thumbnail, UriKind.Absolute)) { SetImageSource(sender, await PixivIO.FromUrl(dataContext.Thumbnail)); } StartDoubleAnimationUseCubicEase(sender, "(Image.Opacity)", 0, 1, 500); }
private async void BrowsingHistoryMainImage_OnLoaded(object sender, RoutedEventArgs e) { var browsing = sender.GetDataContext <BrowsingHistory>(); var img = (Image)sender; if (browsing.IsReferToUser) { img.Effect = new BlurEffect { KernelType = KernelType.Gaussian, Radius = 50, RenderingBias = RenderingBias.Quality }; } UiHelper.SetImageSource(img, await PixivIO.FromUrl(browsing.BrowseObjectThumbnail)); }
private async void OpenIllustBrowser(Illustration illustration) { IllustBrowserDialogHost.DataContext = illustration; IllustBrowserDialogHost.OpenControl(); var userInfo = await HttpClientFactory.AppApiService.GetUserInformation(new UserInformationRequest { Id = illustration.UserId }); var avatar = await PixivIO.FromUrl(userInfo.UserEntity.ProfileImageUrls.Medium); if (avatar != null) { SetImageSource(IllustBrowserUserAvatar, avatar); } }
private void SetUserBanner(string id) { Task.Run(async() => { try { SetImageSource(UserBanner, await PixivIO.FromUrl((await HttpClientFactory.WebApiService().GetWebApiUserDetail(id)).ResponseBody.UserDetails.CoverImage.ProfileCoverImage.The720X360)); } catch { /* ignore */ } }); }
public async void SetImages(BitmapImage left, BitmapImage center, BitmapImage right) { UiHelper.SetImageSource(ImgLeft, left); UiHelper.SetImageSource(ImgCenter, center); UiHelper.SetImageSource(ImgRight, right); UiHelper.SetImageSource(UserAvatar, await PixivIO.FromUrl(this.GetDataContext <User>().Avatar)); try { UiHelper.SetImageSource(Banner, await PixivIO.FromUrl((await HttpClientFactory.WebApiService.GetWebApiUserDetail(this.GetDataContext <User>().Id)).ResponseBody.UserDetails.CoverImage.ProfileCoverImage.The720X360)); } catch { /* ignore */ } }
private async void ReferImage_OnLoaded(object sender, RoutedEventArgs e) { var trend = sender.GetDataContext <Trends>(); var img = (Image)sender; if (trend.IsReferToUser) { img.Effect = new BlurEffect { KernelType = KernelType.Gaussian, Radius = 50, RenderingBias = RenderingBias.Quality } } ; SetImageSource(sender, await PixivIO.FromUrl(trend.TrendObjectThumbnail)); }
private void SetUserBanner(string id) { Task.Run(async() => { var link = $"https://public-api.secure.pixiv.net/v1/users/{id}/works.json?page=1&publicity=public&per_page=1&image_sizes=large"; var httpClient = HttpClientFactory.PixivApi(ProtocolBase.PublicApiBaseUrl, Settings.Global.DirectConnect); httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer"); var res = (await httpClient.GetStringAsync(link)).FromJson <dynamic>(); if (((IEnumerable <JToken>)res.response).Any()) { var img = res.response[0].image_urls.large.ToString(); SetImageSource(UserBanner, await PixivIO.FromUrl(img)); } }); }
private async void UserPrevItem_OnLoaded(object sender, RoutedEventArgs e) { var(avatar, thumbnails) = GetUserPrevImageControls(sender); var dataContext = sender.GetDataContext <User>(); SetImageSource(avatar, await PixivIO.FromUrl(dataContext.Avatar)); var counter = 0; foreach (var thumbnail in thumbnails) { if (counter < dataContext.Thumbnails.Length) { SetImageSource(thumbnail, await PixivIO.FromUrl(dataContext.Thumbnails[counter++])); } } }
private void ChangeSource() { Task.Run(async() => { var userInfo = await HttpClientFactory.AppApiService.GetUserInformation(new UserInformationRequest { Id = Illust.UserId }); if (Dispatcher.Invoke(() => Illust.UserId != MainWindow.Instance.IllustBrowserDialogHost.GetDataContext <Illustration>().UserId)) { var img = await PixivIO.FromUrl(userInfo.UserEntity.ProfileImageUrls.Medium); Dispatcher.Invoke(() => { SetImageSource(MainWindow.Instance.IllustBrowserUserAvatar, img); MainWindow.Instance.IllustBrowserDialogHost.DataContext = Illust; }); } }); }
private void ChangeSource() { Task.Run(() => { (Dispatcher ?? throw new InvalidOperationException()).Invoke(async() => { var userInfo = await HttpClientFactory.AppApiService() .GetUserInformation(new UserInformationRequest { Id = Illust.UserId }); if (Illust.UserId == MainWindow.Instance.IllustBrowserDialogHost.GetDataContext <Illustration>() .UserId) { SetImageSource(MainWindow.Instance.IllustBrowserUserAvatar, await PixivIO.FromUrl(userInfo.UserEntity.ProfileImageUrls.Medium)); } MainWindow.Instance.IllustBrowserDialogHost.DataContext = Illust; }); }); }
private async void DownloadItemThumbnail_OnLoaded(object sender, RoutedEventArgs e) { var url = sender.GetDataContext <DownloadableIllustration>().DownloadContent.Thumbnail; UiHelper.SetImageSource(sender, await PixivIO.FromUrl(url)); }
private async void SpotlightThumbnail_OnLoaded(object sender, RoutedEventArgs e) { SetImageSource((Image)sender, await PixivIO.FromUrl(sender.GetDataContext <SpotlightArticle>().Thumbnail)); }
private async void RecommendIllustratorAvatar_OnLoaded(object sender, RoutedEventArgs e) { var context = sender.GetDataContext <User>(); SetImageSource(sender, await PixivIO.FromUrl(context.Avatar)); }
private async void PostUserAvatar_OnLoaded(object sender, RoutedEventArgs e) { SetImageSource(sender, await PixivIO.FromUrl(sender.GetDataContext <Trends>().PostUserThumbnail)); }