diff --git a/Controllers/LockerImageController.cs b/Controllers/LockerImageController.cs index 1d8814d..d244335 100644 --- a/Controllers/LockerImageController.cs +++ b/Controllers/LockerImageController.cs @@ -35,7 +35,7 @@ public AccountImageController(IHttpClientFactory clientFactory, AsyncKeyedLocker } [HttpPost] - public async Task Post(Locker locker) + public async Task Post(Locker locker, [FromQuery] bool? lossless) { Console.WriteLine( $"Locker image request | Name = {locker.PlayerName} | Locale = {locker.Locale} | Items = {locker.Items.Length}"); @@ -48,7 +48,7 @@ public async Task Post(Locker locker) using var lockerBitmap = await GenerateImage(locker); // Determine the quality of the image based on quality mapping and locker.Items.Length - var quality = QualityMapping.FirstOrDefault(x => locker.Items.Length >= x.Count).Quality; + var quality = lossless == true ? 100 : QualityMapping.FirstOrDefault(x => locker.Items.Length >= x.Count).Quality; return File(lockerBitmap.Encode(SKEncodedImageFormat.Jpeg, quality).AsStream(true), "image/jpeg"); } diff --git a/Controllers/UtilsImageController.cs b/Controllers/UtilsImageController.cs index e98a32b..57ac989 100644 --- a/Controllers/UtilsImageController.cs +++ b/Controllers/UtilsImageController.cs @@ -103,12 +103,12 @@ await _assets.GetBitmap( await _assets.GetBitmap( $"Assets/Images/Map/Markers/{RandomNumberGenerator.GetInt32(markerAmount - 1)}.png"); // don't dispose - const int worldRadius = 150000; - const int xOffset = 0; - const int yOffset = 30; + const int worldRadius = 150_000; + const int xOffset = -60; + const int yOffset = 0; - var mx = ((float) drop.Y + worldRadius) / (worldRadius * 2) * bitmap.Width + xOffset; - var my = (1 - ((float) drop.X + worldRadius) / (worldRadius * 2)) * bitmap.Height + yOffset; + var mx = (drop.X + worldRadius) / (worldRadius * 2f) * bitmap.Width + xOffset; + var my = (drop.Y + worldRadius) / (worldRadius * 2f) * bitmap.Height + yOffset; canvas.DrawBitmap(markerBitmap, mx - (float) markerBitmap!.Width / 2, my - markerBitmap.Height); diff --git a/Dockerfile b/Dockerfile index 2121936..698d696 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,10 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base WORKDIR /app ENV ASPNETCORE_HTTP_PORTS=80 EXPOSE 80 EXPOSE 443 -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src COPY ["EasyFortniteStats-ImageApi.csproj", "./"] RUN dotnet restore "EasyFortniteStats-ImageApi.csproj" diff --git a/EasyFortniteStats-ImageApi.csproj b/EasyFortniteStats-ImageApi.csproj index cdd3079..55be9e4 100644 --- a/EasyFortniteStats-ImageApi.csproj +++ b/EasyFortniteStats-ImageApi.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable enable EasyFortniteStats_ImageApi @@ -10,10 +10,10 @@ - - - - + + + +