photoprism/internal/thumb/jpeg.go

32 lines
682 B
Go

package thumb
import (
"image"
"path/filepath"
"github.com/disintegration/imaging"
"github.com/photoprism/photoprism/pkg/txt"
)
func Jpeg(srcFilename, jpgFilename string, orientation int) (img image.Image, err error) {
img, err = imaging.Open(srcFilename)
if err != nil {
log.Errorf("resample: can't open %s", txt.Quote(filepath.Base(srcFilename)))
return img, err
}
if orientation > 1 {
img = Rotate(img, orientation)
}
saveOption := imaging.JPEGQuality(JpegQuality)
if err = imaging.Save(img, jpgFilename, saveOption); err != nil {
log.Errorf("resample: failed to save %s", txt.Quote(filepath.Base(jpgFilename)))
return img, err
}
return img, nil
}