From 801755ca9f21ef9091052cb7a734f47705ee5194 Mon Sep 17 00:00:00 2001
From: Nayam Amarshe <25067102+NayamAmarshe@users.noreply.github.com>
Date: Sat, 10 Feb 2024 16:55:07 +0530
Subject: [PATCH] Fix batch mode JPG Alpha, Rename Fast model & Fix tooltip
z-index
---
common/models-list.ts | 2 +-
electron/commands/batch-upscayl.ts | 5 ++++-
electron/utils/convert-and-scale.ts | 21 +++++++++++++++++-
.../upscayl-tab/config/LeftPaneImageSteps.tsx | 2 +-
...eneral_x4_v3.bin => realesrgan-x4fast.bin} | Bin
...al_x4_v3.param => realesrgan-x4fast.param} | 0
6 files changed, 26 insertions(+), 4 deletions(-)
rename resources/models/{RealESRGAN_General_x4_v3.bin => realesrgan-x4fast.bin} (100%)
rename resources/models/{RealESRGAN_General_x4_v3.param => realesrgan-x4fast.param} (100%)
diff --git a/common/models-list.ts b/common/models-list.ts
index 96ce947..dc1a8f9 100644
--- a/common/models-list.ts
+++ b/common/models-list.ts
@@ -2,7 +2,7 @@ export const defaultModelsList = [
{ label: "General Photo (Real-ESRGAN)", value: "realesrgan-x4plus" },
{
label: "General Photo (Fast Real-ESRGAN)",
- value: "RealESRGAN_General_x4_v3",
+ value: "realesrgan-x4fast",
},
{ label: "General Photo (Remacri)", value: "remacri" },
{ label: "General Photo (Ultramix Balanced)", value: "ultramix_balanced" },
diff --git a/electron/commands/batch-upscayl.ts b/electron/commands/batch-upscayl.ts
index f1cf2a1..64e5880 100644
--- a/electron/commands/batch-upscayl.ts
+++ b/electron/commands/batch-upscayl.ts
@@ -53,7 +53,7 @@ const batchUpscayl = async (event, payload: BatchUpscaylPayload) => {
? customWidth || payload.scale
: payload.scale;
- const outputFolderName = `upscayl_${model}_${noImageProcessing ? initialScale : desiredScale}${useCustomWidth ? "px_" : "x_"}`;
+ const outputFolderName = `upscayl_${saveImageAs}_${model}_${noImageProcessing ? initialScale : desiredScale}${useCustomWidth ? "px" : "x"}`;
outputFolderPath += slash + outputFolderName;
if (!fs.existsSync(outputFolderPath)) {
fs.mkdirSync(outputFolderPath, { recursive: true });
@@ -148,6 +148,7 @@ const batchUpscayl = async (event, payload: BatchUpscaylPayload) => {
let upscaledImagePath = `${outputFolderPath}${slash}${removeFileExtension(
file,
)}.${saveImageAs}`;
+ let imageIsAlpha = false;
if (
isAlpha &&
saveImageAs === "jpg" &&
@@ -155,6 +156,7 @@ const batchUpscayl = async (event, payload: BatchUpscaylPayload) => {
`${outputFolderPath}${slash}${removeFileExtension(file)}.jpg.png`,
)
) {
+ imageIsAlpha = true;
console.log("This is an Alpha image!");
upscaledImagePath = `${outputFolderPath}${slash}${removeFileExtension(file)}.jpg.png`;
}
@@ -166,6 +168,7 @@ const batchUpscayl = async (event, payload: BatchUpscaylPayload) => {
)}.${saveImageAs}`,
desiredScale,
saveImageAs,
+ imageIsAlpha,
);
if (
isAlpha &&
diff --git a/electron/utils/convert-and-scale.ts b/electron/utils/convert-and-scale.ts
index 65fdf67..2d974ae 100644
--- a/electron/utils/convert-and-scale.ts
+++ b/electron/utils/convert-and-scale.ts
@@ -10,11 +10,30 @@ const convertAndScale = async (
processedImagePath: string,
scale: string,
saveImageAs: ImageFormat,
+ imageIsAlpha?: boolean,
) => {
- if (!customWidth && scale === "4" && compression === 0) {
+ // Skip conversion when the scale is 4x and compression is 0
+ // - When output format is WebP or PNG
+ // - When the image is not alpha and the output format is JPEG
+ if (
+ !customWidth &&
+ (saveImageAs === "png" || saveImageAs === "webp") &&
+ scale === "4" &&
+ compression === 0
+ ) {
+ logit("Skipping compression for 4x scale and 0% compression");
+ return;
+ } else if (
+ !customWidth &&
+ saveImageAs === "jpg" &&
+ scale === "4" &&
+ compression === 0 &&
+ !imageIsAlpha
+ ) {
logit("Skipping compression for 4x scale and 0% compression");
return;
}
+
let originalImage: Metadata | undefined;
try {
diff --git a/renderer/components/upscayl-tab/config/LeftPaneImageSteps.tsx b/renderer/components/upscayl-tab/config/LeftPaneImageSteps.tsx
index 6a0e8f2..1ea732f 100644
--- a/renderer/components/upscayl-tab/config/LeftPaneImageSteps.tsx
+++ b/renderer/components/upscayl-tab/config/LeftPaneImageSteps.tsx
@@ -311,7 +311,7 @@ function LeftPaneImageSteps({
-
+
);
}
diff --git a/resources/models/RealESRGAN_General_x4_v3.bin b/resources/models/realesrgan-x4fast.bin
similarity index 100%
rename from resources/models/RealESRGAN_General_x4_v3.bin
rename to resources/models/realesrgan-x4fast.bin
diff --git a/resources/models/RealESRGAN_General_x4_v3.param b/resources/models/realesrgan-x4fast.param
similarity index 100%
rename from resources/models/RealESRGAN_General_x4_v3.param
rename to resources/models/realesrgan-x4fast.param