mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-29 13:26:44 +01:00
use image magick for auto-orientation
This commit is contained in:
@@ -257,7 +257,7 @@ namespace Emby.Drawing
|
||||
|
||||
imageProcessingLockTaken = true;
|
||||
|
||||
_imageEncoder.EncodeImage(originalImagePath, cacheFilePath, GetRotationAngle(options.Item), newWidth, newHeight, quality, options, outputFormat);
|
||||
_imageEncoder.EncodeImage(originalImagePath, cacheFilePath, AutoOrient(options.Item), newWidth, newHeight, quality, options, outputFormat);
|
||||
}
|
||||
|
||||
return new Tuple<string, string>(cacheFilePath, GetMimeType(outputFormat, cacheFilePath));
|
||||
@@ -281,35 +281,32 @@ namespace Emby.Drawing
|
||||
}
|
||||
}
|
||||
|
||||
private int GetRotationAngle(IHasImages item)
|
||||
private bool AutoOrient(IHasImages item)
|
||||
{
|
||||
var photo = item as Photo;
|
||||
if (photo != null && photo.Orientation.HasValue)
|
||||
{
|
||||
switch (photo.Orientation.Value)
|
||||
{
|
||||
case ImageOrientation.TopLeft:
|
||||
return 0;
|
||||
case ImageOrientation.TopRight:
|
||||
return 0;
|
||||
case ImageOrientation.BottomLeft:
|
||||
return 270;
|
||||
case ImageOrientation.BottomRight:
|
||||
return 180;
|
||||
case ImageOrientation.LeftBottom:
|
||||
return -90;
|
||||
case ImageOrientation.LeftTop:
|
||||
return 0;
|
||||
case ImageOrientation.RightBottom:
|
||||
return 0;
|
||||
case ImageOrientation.RightTop:
|
||||
return 90;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
//private static int[][] OPERATIONS = new int[][] {
|
||||
// TopLeft
|
||||
//new int[] { 0, NONE},
|
||||
// TopRight
|
||||
//new int[] { 0, HORIZONTAL},
|
||||
//new int[] {180, NONE},
|
||||
// LeftTop
|
||||
//new int[] { 0, VERTICAL},
|
||||
//new int[] { 90, HORIZONTAL},
|
||||
// RightTop
|
||||
//new int[] { 90, NONE},
|
||||
//new int[] {-90, HORIZONTAL},
|
||||
//new int[] {-90, NONE},
|
||||
//};
|
||||
|
||||
private string GetMimeType(ImageFormat format, string path)
|
||||
{
|
||||
if (format == ImageFormat.Bmp)
|
||||
|
||||
Reference in New Issue
Block a user