diff --git a/encoder.go b/encoder.go index ac85b85..0647a08 100644 --- a/encoder.go +++ b/encoder.go @@ -122,6 +122,11 @@ func avifEncoder(p1, p2 string, quality int, extraParams ExtraParams) error { return errors.New("AVIF: image too large") } + err = img.AutoRotate() + if err != nil { + return err + } + // If quality >= 100, we use lossless mode if quality >= 100 { buf, _, err = img.ExportAvif(&vips.AvifExportParams{ @@ -170,6 +175,11 @@ func webpEncoder(p1, p2 string, quality int, extraParams ExtraParams) error { return errors.New("WebP: image too large") } + err = img.AutoRotate() + if err != nil { + return err + } + // If quality >= 100, we use lossless mode if quality >= 100 { buf, _, err = img.ExportWebp(&vips.WebpExportParams{ diff --git a/pics/exif-orientation-examples/Landscape_0.jpg b/pics/exif-orientation-examples/Landscape_0.jpg new file mode 100644 index 0000000..8518c82 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_0.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_1.jpg b/pics/exif-orientation-examples/Landscape_1.jpg new file mode 100644 index 0000000..fda1882 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_1.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_2.jpg b/pics/exif-orientation-examples/Landscape_2.jpg new file mode 100644 index 0000000..d2605f8 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_2.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_3.jpg b/pics/exif-orientation-examples/Landscape_3.jpg new file mode 100644 index 0000000..f508052 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_3.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_4.jpg b/pics/exif-orientation-examples/Landscape_4.jpg new file mode 100644 index 0000000..d73dee8 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_4.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_5.jpg b/pics/exif-orientation-examples/Landscape_5.jpg new file mode 100644 index 0000000..975d858 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_5.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_6.jpg b/pics/exif-orientation-examples/Landscape_6.jpg new file mode 100644 index 0000000..b579b7f Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_6.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_7.jpg b/pics/exif-orientation-examples/Landscape_7.jpg new file mode 100644 index 0000000..b1e919c Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_7.jpg differ diff --git a/pics/exif-orientation-examples/Landscape_8.jpg b/pics/exif-orientation-examples/Landscape_8.jpg new file mode 100644 index 0000000..c381db1 Binary files /dev/null and b/pics/exif-orientation-examples/Landscape_8.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_0.jpg b/pics/exif-orientation-examples/Portrait_0.jpg new file mode 100644 index 0000000..aa9632e Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_0.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_1.jpg b/pics/exif-orientation-examples/Portrait_1.jpg new file mode 100644 index 0000000..dcb57c5 Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_1.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_2.jpg b/pics/exif-orientation-examples/Portrait_2.jpg new file mode 100644 index 0000000..8c3adf7 Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_2.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_3.jpg b/pics/exif-orientation-examples/Portrait_3.jpg new file mode 100644 index 0000000..5a5544f Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_3.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_4.jpg b/pics/exif-orientation-examples/Portrait_4.jpg new file mode 100644 index 0000000..9eb2a6a Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_4.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_5.jpg b/pics/exif-orientation-examples/Portrait_5.jpg new file mode 100644 index 0000000..905169a Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_5.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_6.jpg b/pics/exif-orientation-examples/Portrait_6.jpg new file mode 100644 index 0000000..8fc576e Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_6.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_7.jpg b/pics/exif-orientation-examples/Portrait_7.jpg new file mode 100644 index 0000000..cfa04d6 Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_7.jpg differ diff --git a/pics/exif-orientation-examples/Portrait_8.jpg b/pics/exif-orientation-examples/Portrait_8.jpg new file mode 100644 index 0000000..b2a50d6 Binary files /dev/null and b/pics/exif-orientation-examples/Portrait_8.jpg differ