Apply EXIF orientation when converting images with ImageMagick (#577)

This commit is contained in:
casi3
2026-08-03 21:20:35 +02:00
committed by GitHub
parent dc61643912
commit 7157d2398e
2 changed files with 20 additions and 0 deletions
+4
View File
@@ -468,6 +468,10 @@ export function convert(
outputArgs.push("-background", "white", "-alpha", "remove");
}
// Apply EXIF orientation so photos (e.g. from phones) don't end up sideways
// when converted to formats where the orientation tag is lost or ignored
outputArgs.push("-auto-orient");
return new Promise((resolve, reject) => {
execFile(
"magick",
+16
View File
@@ -163,3 +163,19 @@ test("convert respects emf as input filetype", async () => {
);
expect(loggedMessage).toBe("stdout: Fake stdout");
});
test("convert applies EXIF auto-orient", async () => {
const mockExecFile: ExecFileFn = (
_cmd: string,
_args: string[],
callback: (err: ExecFileException | null, stdout: string, stderr: string) => void,
) => {
calls.push(_args);
callback(null, "", "");
};
const result = await convert("input.jpg", "jpg", "png", "output.png", undefined, mockExecFile);
expect(result).toBe("Done");
expect(calls[0]).toEqual(expect.arrayContaining(["input.jpg", "-auto-orient", "output.png"]));
});