diff --git a/doc/uno-resizetizer-properties.md b/doc/uno-resizetizer-properties.md
index 0227a413..f2334b35 100644
--- a/doc/uno-resizetizer-properties.md
+++ b/doc/uno-resizetizer-properties.md
@@ -44,10 +44,16 @@ Properties that can be used across all items
| Property Name | Description |
| ------------- | ----------- |
-| Include | Used to insert the path of the image asset, could be a `png` or `svg` |
+| Include | Used to insert the path of the image asset, could be a `png` or `svg`. |
## UnoSplashScreen
| Property Name | Description |
| ------------- | ----------- |
-| Include | Used to insert the path of the image asset, could be a `png` or `svg` |
\ No newline at end of file
+| Include | Used to insert the path of the image asset, could be a `png` or `svg`. |
+| Scale | Used to scale the image that will be used as SplashScreen. This property will be override by any platform specific scale. |
+| AndroidScale | Used to scale the image that will be used as SplashScreen on Android platform. |
+| IOSScale | Used to scale the image that will be used as SplashScreen on iOS platform. |
+| WindowsScale | Used to scale the image that will be used as SplashScreen on Windows platform. |
+| WasmScale | Used to scale the image that will be used as SplashScreen on Wasm. |
+| SkiaScale | Used to scale the image that will be used as SplashScreen on Skia targets (GTK and WPF). |
\ No newline at end of file
diff --git a/samples/NewTemplate/Resizetizer.Extensions.Sample.Base/base.props b/samples/NewTemplate/Resizetizer.Extensions.Sample.Base/base.props
index 979f0902..dd75263f 100644
--- a/samples/NewTemplate/Resizetizer.Extensions.Sample.Base/base.props
+++ b/samples/NewTemplate/Resizetizer.Extensions.Sample.Base/base.props
@@ -17,6 +17,7 @@
diff --git a/src/Resizetizer/src/ResizeImageInfo.cs b/src/Resizetizer/src/ResizeImageInfo.cs
index 04d03a37..a3e9de06 100644
--- a/src/Resizetizer/src/ResizeImageInfo.cs
+++ b/src/Resizetizer/src/ResizeImageInfo.cs
@@ -138,6 +138,12 @@ public static List Parse(IEnumerable? images)
info.ForegroundScale = fsc;
}
+ if (info.IsSplashScreen)
+ {
+ SetPlatformForegroundScale(image, "Scale", info);
+ ApplyPlatformScale(image, info);
+ }
+
var fgFile = image.GetMetadata("ForegroundFile");
if (!string.IsNullOrEmpty(fgFile))
{
@@ -162,6 +168,7 @@ public static List Parse(IEnumerable? images)
ApplyPlatformForegroundScale(image, info);
}
+
// TODO:
// - Parse out custom DPI's
@@ -180,7 +187,6 @@ static void SetPlatformForegroundScale(ITaskItem image, string property, ResizeI
}
}
-
static void ApplyPlatformForegroundScale(ITaskItem image, ResizeImageInfo info)
{
switch (ResizetizeImages_v0.TargetPlatform)
@@ -203,5 +209,29 @@ static void ApplyPlatformForegroundScale(ITaskItem image, ResizeImageInfo info)
break;
}
}
+
+
+ static void ApplyPlatformScale(ITaskItem image, ResizeImageInfo info)
+ {
+ switch (ResizetizeImages_v0.TargetPlatform)
+ {
+ case "android":
+ SetPlatformForegroundScale(image, "AndroidScale", info);
+ break;
+ case "ios":
+ SetPlatformForegroundScale(image, "IOSScale", info);
+ break;
+ case "uwp":
+ SetPlatformForegroundScale(image, "WindowsScale", info);
+ break;
+ case "wasm":
+ SetPlatformForegroundScale(image, "WasmScale", info);
+ break;
+ //skia
+ case "netstandard" or "wpf":
+ SetPlatformForegroundScale(image, "SkiaScale", info);
+ break;
+ }
+ }
}
}
diff --git a/src/Resizetizer/src/Resizer.cs b/src/Resizetizer/src/Resizer.cs
index 87e1d827..ea857a4c 100644
--- a/src/Resizetizer/src/Resizer.cs
+++ b/src/Resizetizer/src/Resizer.cs
@@ -116,7 +116,7 @@ public ResizedImageInfo Resize(DpiPath dpi, string inputsFile)
void Rasterize(DpiPath dpi, string destination)
{
tools ??= SkiaSharpTools.Create(Info.IsVector, Info.Filename, Info.BaseSize, Info.Color, Info.TintColor, Logger);
- tools.Resize(dpi, destination);
+ tools.Resize(dpi, destination, Info.ForegroundScale);
}
}
}