From d29da11d5fcb3db5fdde9e79faaf3f598e50f4d1 Mon Sep 17 00:00:00 2001
From: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Date: Thu, 8 Feb 2024 19:36:59 +0000
Subject: [PATCH] Remove SDC (#6275)
---
Directory.Packages.props | 1 -
.../Helper/ShortcutHelper.cs | 23 ++++++++-----------
.../Ryujinx.Ui.Common.csproj | 1 -
3 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 330c6196..36db32d1 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -45,7 +45,6 @@
-
diff --git a/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs b/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs
index 60b92898..3d27d3ff 100644
--- a/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs
+++ b/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs
@@ -2,15 +2,13 @@ using Ryujinx.Common;
using Ryujinx.Common.Configuration;
using ShellLink;
using SixLabors.ImageSharp;
+using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.PixelFormats;
+using SixLabors.ImageSharp.Processing;
using System;
using System.Collections.Generic;
-using System.Drawing;
-using System.Drawing.Drawing2D;
-using System.Drawing.Imaging;
using System.IO;
using System.Runtime.Versioning;
-using Image = System.Drawing.Image;
namespace Ryujinx.Ui.Common.Helper
{
@@ -23,12 +21,9 @@ namespace Ryujinx.Ui.Common.Helper
iconPath += ".ico";
MemoryStream iconDataStream = new(iconData);
- using Image image = Image.FromStream(iconDataStream);
- using Bitmap bitmap = new(128, 128);
- using System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(bitmap);
- graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
- graphic.DrawImage(image, 0, 0, 128, 128);
- SaveBitmapAsIcon(bitmap, iconPath);
+ var image = Image.Load(iconDataStream);
+ image.Mutate(x => x.Resize(128, 128));
+ SaveBitmapAsIcon(image, iconPath);
var shortcut = Shortcut.CreateShortcut(basePath, GetArgsString(applicationFilePath), iconPath, 0);
shortcut.StringData.NameString = cleanedAppName;
@@ -42,7 +37,7 @@ namespace Ryujinx.Ui.Common.Helper
var desktopFile = EmbeddedResources.ReadAllText("Ryujinx.Ui.Common/shortcut-template.desktop");
iconPath += ".png";
- var image = SixLabors.ImageSharp.Image.Load(iconData);
+ var image = Image.Load(iconData);
image.SaveAsPng(iconPath);
using StreamWriter outputFile = new(Path.Combine(desktopPath, cleanedAppName + ".desktop"));
@@ -83,7 +78,7 @@ namespace Ryujinx.Ui.Common.Helper
}
const string IconName = "icon.png";
- var image = SixLabors.ImageSharp.Image.Load(iconData);
+ var image = Image.Load(iconData);
image.SaveAsPng(Path.Combine(resourceFolderPath, IconName));
// plist file
@@ -147,7 +142,7 @@ namespace Ryujinx.Ui.Common.Helper
/// The source bitmap image that will be saved as an .ico file
/// The location that the new .ico file will be saved too (Make sure to include '.ico' in the path).
[SupportedOSPlatform("windows")]
- private static void SaveBitmapAsIcon(Bitmap source, string filePath)
+ private static void SaveBitmapAsIcon(Image source, string filePath)
{
// Code Modified From https://stackoverflow.com/a/11448060/368354 by Benlitz
byte[] header = { 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 32, 0, 0, 0, 0, 0, 22, 0, 0, 0 };
@@ -155,7 +150,7 @@ namespace Ryujinx.Ui.Common.Helper
fs.Write(header);
// Writing actual data
- source.Save(fs, ImageFormat.Png);
+ source.Save(fs, PngFormat.Instance);
// Getting data length (file length minus header)
long dataLength = fs.Length - header.Length;
// Write it in the correct place
diff --git a/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj b/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
index 1a8c216a..24f26a3f 100644
--- a/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
+++ b/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
@@ -57,7 +57,6 @@
-