Autorotation in the bimg is NOT HAPPENING

pull/3/head
Toni Melisma 4 years ago
parent 3561d9cfa9
commit 45820583c2

@ -452,62 +452,19 @@ func resizeFullsizeVideo(source string, destination string) {
}
}
func autoRotateImage(input []byte) *bimg.Image {
image := bimg.NewImage(input)
metadata, err := image.Metadata()
checkError(err)
_, err = image.Convert(bimg.JPEG)
checkError(err)
switch metadata.EXIF.Orientation {
case 2:
_, err := image.Flip()
checkError(err)
case 3:
_, err := image.Rotate(180)
checkError(err)
case 4:
_, err := image.Flip()
checkError(err)
_, err = image.Rotate(180)
checkError(err)
case 5:
_, err := image.Flip()
checkError(err)
_, err = image.Rotate(90)
checkError(err)
case 6:
_, err = image.Rotate(180)
checkError(err)
case 7:
_, err := image.Flip()
checkError(err)
_, err = image.Rotate(270)
checkError(err)
case 8:
_, err := image.Rotate(270)
checkError(err)
case 1:
default:
}
return image
}
func resizeThumbnailImage(source string, destination string) {
if thumbnailExtension == ".jpg" {
buffer, err := bimg.Read(source)
checkError(err)
image := autoRotateImage(buffer)
oldImage := bimg.NewImage(buffer)
_, err = oldImage.AutoRotate()
checkError(err)
_, err = image.Thumbnail(200)
// 280 x 210
_, err = oldImage.Thumbnail(200)
checkError(err)
newImage, err := image.Convert(bimg.JPEG)
newImage, err := oldImage.Convert(bimg.JPEG)
checkError(err)
bimg.Write(destination, newImage)
@ -517,7 +474,6 @@ func resizeThumbnailImage(source string, destination string) {
}
func resizeFullsizeImage(source string, destination string) {
// TODO converge all three operations into one
if fullsizePictureExtension == ".jpg" {
buffer, err := bimg.Read(source)
checkError(err)
@ -525,15 +481,17 @@ func resizeFullsizeImage(source string, destination string) {
bufferImageSize, err := bimg.Size(buffer)
ratio := bufferImageSize.Width / bufferImageSize.Height
newImage, err := bimg.NewImage(buffer).Resize(ratio*1080, 1080)
oldImage := bimg.NewImage(buffer)
_, err = oldImage.Resize(ratio*1080, 1080)
checkError(err)
newImage2, err := bimg.NewImage(newImage).AutoRotate()
_, err = oldImage.AutoRotate()
checkError(err)
newImage3, err := bimg.NewImage(newImage2).Convert(bimg.JPEG)
newImage, err := oldImage.Convert(bimg.JPEG)
checkError(err)
bimg.Write(destination, newImage3)
bimg.Write(destination, newImage)
} else {
fmt.Fprintf(os.Stderr, "Can't figure out what format to convert full size image to: %s\n", destination)
}

Loading…
Cancel
Save