From 1d130e39af4e7afdec8bc9580c63e7c0742a5ff3 Mon Sep 17 00:00:00 2001 From: Zachary Teutsch Date: Tue, 11 Feb 2025 11:06:23 -0800 Subject: [PATCH 1/5] put scale image in a task --- .../Samples/WCRAPIs/IncreaseFidelity.xaml.cs | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs b/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs index 4e11036a..e26b3c7c 100644 --- a/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs +++ b/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs @@ -102,14 +102,20 @@ private async void ScaleImage() { if (_imageScaler != null && _originalImage != null) { - ScaledPanel.Visibility = Visibility.Collapsed; - Loader.Visibility = Visibility.Visible; - var newWidth = (int)(_originalImage.PixelWidth * ScaleSlider.Value); - var newHeight = (int)(_originalImage.PixelHeight * ScaleSlider.Value); - var bitmap = _imageScaler.ScaleSoftwareBitmap(_originalImage, newWidth, newHeight); - Loader.Visibility = Visibility.Collapsed; - ScaledPanel.Visibility = Visibility.Visible; - await SetImageSource(ScaledImage, bitmap, ScaledDimensionsTxt); + ScaledPanel.Visibility = Visibility.Collapsed; + Loader.Visibility = Visibility.Visible; + + var newWidth = (int)(_originalImage.PixelWidth * ScaleSlider.Value); + var newHeight = (int)(_originalImage.PixelHeight * ScaleSlider.Value); + + var bitmap = await Task.Run(() => + { + return _imageScaler.ScaleSoftwareBitmap(_originalImage, newWidth, newHeight); + }); + + Loader.Visibility = Visibility.Collapsed; + ScaledPanel.Visibility = Visibility.Visible; + await SetImageSource(ScaledImage, bitmap, ScaledDimensionsTxt); } } From fc8f5bd9965599c48e3aa318fbf2c5ae74ce080a Mon Sep 17 00:00:00 2001 From: Zachary Teutsch Date: Thu, 13 Feb 2025 12:20:09 -0800 Subject: [PATCH 2/5] fix relative links in wcr docs --- AIDevGallery/Pages/ModelPage.xaml.cs | 37 ++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/AIDevGallery/Pages/ModelPage.xaml.cs b/AIDevGallery/Pages/ModelPage.xaml.cs index ad1ab2ba..a700e144 100644 --- a/AIDevGallery/Pages/ModelPage.xaml.cs +++ b/AIDevGallery/Pages/ModelPage.xaml.cs @@ -12,6 +12,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; @@ -21,6 +22,8 @@ namespace AIDevGallery.Pages; internal sealed partial class ModelPage : Page { + private const string DocsBaseUrl = "https://learn.microsoft.com/en-us/"; + private const string WcrDocsRelativePath = "/windows/ai/apis/"; public ModelFamily? ModelFamily { get; set; } private ModelType? modelFamilyType; public bool IsNotApi => !modelFamilyType.HasValue || !ModelTypeHelpers.ApiDefinitionDetails.ContainsKey(modelFamilyType.Value); @@ -203,10 +206,17 @@ private void CopyButton_Click(object sender, RoutedEventArgs e) private void MarkdownTextBlock_LinkClicked(object sender, CommunityToolkit.WinUI.UI.Controls.LinkClickedEventArgs e) { - ModelDetailsLinkClickedEvent.Log(e.Link); + string link = e.Link; + + if(!IsNotApi && !IsValidUrl(link)) + { + link = FixWcrReadmeLink(link); + } + + ModelDetailsLinkClickedEvent.Log(link); Process.Start(new ProcessStartInfo() { - FileName = e.Link, + FileName = link, UseShellExecute = true }); } @@ -219,4 +229,27 @@ private void SampleList_ItemInvoked(ItemsView sender, ItemsViewItemInvokedEventA App.MainWindow.Navigate("Samples", new SampleNavigationArgs(sample, availableModel)); } } + + private bool IsValidUrl(string url) + { + Uri uri; + return Uri.TryCreate(url, UriKind.Absolute, out uri!) && (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps); + } + + private string FixWcrReadmeLink(string link) + { + string fixedLink; + + if(link.StartsWith('/')) + { + fixedLink = Path.Join(DocsBaseUrl, link); + } + else + { + fixedLink = Path.Join(DocsBaseUrl, WcrDocsRelativePath, link.Replace(".md", string.Empty)); + } + + System.Diagnostics.Debug.WriteLine(fixedLink); + return fixedLink; + } } \ No newline at end of file From 15067ef8448f37f7e862fce08060bc59259c06dd Mon Sep 17 00:00:00 2001 From: Zach Teutsch <88554871+zateutsch@users.noreply.github.com> Date: Thu, 13 Feb 2025 12:53:46 -0800 Subject: [PATCH 3/5] Update AIDevGallery/Pages/ModelPage.xaml.cs --- AIDevGallery/Pages/ModelPage.xaml.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/AIDevGallery/Pages/ModelPage.xaml.cs b/AIDevGallery/Pages/ModelPage.xaml.cs index a700e144..58aecee4 100644 --- a/AIDevGallery/Pages/ModelPage.xaml.cs +++ b/AIDevGallery/Pages/ModelPage.xaml.cs @@ -249,7 +249,6 @@ private string FixWcrReadmeLink(string link) fixedLink = Path.Join(DocsBaseUrl, WcrDocsRelativePath, link.Replace(".md", string.Empty)); } - System.Diagnostics.Debug.WriteLine(fixedLink); return fixedLink; } } \ No newline at end of file From 6c80038e5eefa0be4f3c3d4930238b64d15678f8 Mon Sep 17 00:00:00 2001 From: Zachary Teutsch Date: Thu, 13 Feb 2025 12:58:25 -0800 Subject: [PATCH 4/5] fix identing --- .../Samples/WCRAPIs/IncreaseFidelity.xaml.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs b/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs index 3b3b88ea..96363614 100644 --- a/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs +++ b/AIDevGallery/Samples/WCRAPIs/IncreaseFidelity.xaml.cs @@ -102,20 +102,20 @@ private async void ScaleImage() { if (_imageScaler != null && _originalImage != null) { - ScaledPanel.Visibility = Visibility.Collapsed; - Loader.Visibility = Visibility.Visible; + ScaledPanel.Visibility = Visibility.Collapsed; + Loader.Visibility = Visibility.Visible; - var newWidth = (int)(_originalImage.PixelWidth * ScaleSlider.Value); - var newHeight = (int)(_originalImage.PixelHeight * ScaleSlider.Value); + var newWidth = (int)(_originalImage.PixelWidth * ScaleSlider.Value); + var newHeight = (int)(_originalImage.PixelHeight * ScaleSlider.Value); - var bitmap = await Task.Run(() => - { - return _imageScaler.ScaleSoftwareBitmap(_originalImage, newWidth, newHeight); - }); + var bitmap = await Task.Run(() => + { + return _imageScaler.ScaleSoftwareBitmap(_originalImage, newWidth, newHeight); + }); - Loader.Visibility = Visibility.Collapsed; - ScaledPanel.Visibility = Visibility.Visible; - await SetImageSource(ScaledImage, bitmap, ScaledDimensionsTxt); + Loader.Visibility = Visibility.Collapsed; + ScaledPanel.Visibility = Visibility.Visible; + await SetImageSource(ScaledImage, bitmap, ScaledDimensionsTxt); } } From ae27c90d977118d46549f6b03597bf455bbb4c1d Mon Sep 17 00:00:00 2001 From: Nikola Metulev Date: Thu, 13 Feb 2025 14:13:14 -0800 Subject: [PATCH 5/5] Update AIDevGallery/Pages/ModelPage.xaml.cs --- AIDevGallery/Pages/ModelPage.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AIDevGallery/Pages/ModelPage.xaml.cs b/AIDevGallery/Pages/ModelPage.xaml.cs index 58aecee4..4e386709 100644 --- a/AIDevGallery/Pages/ModelPage.xaml.cs +++ b/AIDevGallery/Pages/ModelPage.xaml.cs @@ -22,7 +22,7 @@ namespace AIDevGallery.Pages; internal sealed partial class ModelPage : Page { - private const string DocsBaseUrl = "https://learn.microsoft.com/en-us/"; + private const string DocsBaseUrl = "https://learn.microsoft.com/"; private const string WcrDocsRelativePath = "/windows/ai/apis/"; public ModelFamily? ModelFamily { get; set; } private ModelType? modelFamilyType;