private OutputImage GetOutputImage(AppleIconSetImage x, ResourceDefinition resource, string basePath, string outputFileName) { var scale = int.Parse(x.Scale[0].ToString()); var size = x.Size.Split('x'); Log.LogMessage($"Found App Icon Set image {resource.InputFilePath} -> {basePath}{Path.DirectorySeparatorChar}{x.FileName}"); var outputFile = Path.Combine(Build.IntermediateOutputPath, basePath, x.FileName); var outputLink = Path.Combine(basePath, x.FileName); var watermarkFilePath = GetWatermarkFilePath(resource); var width = (int)(double.Parse(size[0]) * scale); var height = (int)(double.Parse(size[1]) * scale); return(new OutputImage { InputFile = resource.InputFilePath, OutputFile = outputFile, OutputLink = outputLink, Width = width, Height = height, RequiresBackgroundColor = outputFileName == "AppIcon", ShouldBeVisible = false, WatermarkFilePath = watermarkFilePath, BackgroundColor = resource.GetBackgroundColor(Platform.iOS) }); }
protected internal override IEnumerable <OutputImage> GetOutputImages(ResourceDefinition resource) { (var outputFileName, var ignore, var masterScale) = resource.GetConfiguration(Platform.iOS); if (ignore) { return(Array.Empty <OutputImage>()); } #if DEBUG if (outputFileName is null) { System.Diagnostics.Debugger.Break(); } #endif // Check for appiconset var assetsIconSetBasePath = Path.Combine( "Assets.xcassets", $"{outputFileName}.appiconset"); var mediaRootIconSetBasePath = Path.Combine( "Media.xcassets", $"{outputFileName}.appiconset"); var mediaIconSetBasePath = Path.Combine( "Resources", "Assets.xcassets", $"{outputFileName}.appiconset"); if (Directory.Exists(Path.Combine(Build.ProjectDirectory, assetsIconSetBasePath))) { return(GetAppIconSet(resource, assetsIconSetBasePath, outputFileName, masterScale)); } else if (Directory.Exists(Path.Combine(Build.ProjectDirectory, mediaRootIconSetBasePath))) { return(GetAppIconSet(resource, mediaRootIconSetBasePath, outputFileName, masterScale)); } else if (Directory.Exists(Path.Combine(Build.ProjectDirectory, mediaIconSetBasePath))) { return(GetAppIconSet(resource, mediaIconSetBasePath, outputFileName, masterScale)); } else { Log.LogMessage($"Found image {resource.InputFilePath} -> Resources/{outputFileName}.png"); // Generate App Resources return(ResourceSizes.Select(x => new OutputImage { InputFile = resource.InputFilePath, OutputFile = Path.Combine(Build.IntermediateOutputPath, "Resources", $"{outputFileName}{x.Key}.png"), OutputLink = Path.Combine("Resources", $"{outputFileName}{x.Key}.png"), Scale = masterScale * x.Value, ShouldBeVisible = true, WatermarkFilePath = GetWatermarkFilePath(resource), BackgroundColor = resource.GetBackgroundColor(Platform.iOS) })); } }