photoprism/internal/thumb/open.go
Michael Mayer a604e9a9c6 Index: Improve file size/resolution checks, add WebP support #1017 #1226
Renames the config flag to from "megapixel-limit" to "resolution-limit".
Adds native support for the WebP image file format.
2022-04-02 18:04:11 +02:00

39 lines
835 B
Go

package thumb
import (
"fmt"
"image"
"github.com/disintegration/imaging"
"github.com/photoprism/photoprism/pkg/fs"
)
// StandardRGB configures whether colors in the Apple Display P3 color space should be converted to standard RGB.
var StandardRGB = true
// Open loads an image from disk, rotates it, and converts the color profile if necessary.
func Open(fileName string, orientation int) (result image.Image, err error) {
if fileName == "" {
return result, fmt.Errorf("filename missing")
}
// Open JPEG?
if StandardRGB && fs.GetFileFormat(fileName) == fs.FormatJpeg {
return OpenJpeg(fileName, orientation)
}
// Open file with imaging function.
img, err := imaging.Open(fileName)
if err != nil {
return result, err
}
// Rotate?
if orientation > 1 {
img = Rotate(img, orientation)
}
return img, nil
}