C# 如何基于方向值正确旋转缩略图图像?

C# 如何基于方向值正确旋转缩略图图像?,c#,rotation,orientation,thumbnails,C#,Rotation,Orientation,Thumbnails,我目前正在开发一个API,它将视频中的一个参数作为参数,然后从中生成一个缩略图。当稍后显示缩略图时,缩略图以错误的方式旋转,我知道这与方向有关,但我在PropertyIdList中似乎找不到0x0112 274或0x5029 20521。我得到的只有771769375120753,20753,20754。据我所知,这些都不是聚焦于图像的方向。我用Nreco生成了缩略图,如果有任何关联的话。这是我迄今为止的代码: if(Array.IndexOf(image.Img.PropertyIdLis

我目前正在开发一个API,它将视频中的一个参数作为参数,然后从中生成一个缩略图。当稍后显示缩略图时,缩略图以错误的方式旋转,我知道这与方向有关,但我在PropertyIdList中似乎找不到0x0112 274或0x5029 20521。我得到的只有771769375120753,20753,20754。据我所知,这些都不是聚焦于图像的方向。我用Nreco生成了缩略图,如果有任何关联的话。这是我迄今为止的代码:

  if(Array.IndexOf(image.Img.PropertyIdList,20521)>-1)
            {
                var orientation = (int)image.Img.GetPropertyItem(20521).Value[0];
                switch(orientation)
                {
                    case 1:
                        break;
                    case 2:
                        image.Img.RotateFlip(RotateFlipType.RotateNoneFlipX);
                        break;
                    case 3:
                        image.Img.RotateFlip(RotateFlipType.Rotate180FlipNone);
                        break;
                    case 4:
                        image.Img.RotateFlip(RotateFlipType.Rotate180FlipX);
                        break;
                    case 5:
                        image.Img.RotateFlip(RotateFlipType.Rotate90FlipX);
                        break;
                    case 6:
                        image.Img.RotateFlip(RotateFlipType.Rotate90FlipNone);
                        break;
                    case 7:
                        image.Img.RotateFlip(RotateFlipType.Rotate270FlipX);
                        break;
                    case 8:
                        image.Img.RotateFlip(RotateFlipType.Rotate270FlipNone);
                        break;
                }
            }
但它从未进入这段代码,因为它找不到propertyIdList 20521的索引

任何帮助都将受到高度赞赏! 多谢各位


编辑:视频是用iphone6拍摄的

你检查过了吗?-也许财产根本不存在?你明确地创建了它吗?是的,我之前就遵循了这个例子,它以视频开始,然后我在NReco.VideoConverter.FFMpegConverter的帮助下从视频中提取一个缩略图,这本身就创建了一个缩略图,并将其保存到磁盘上的一个文件夹中,然后我将其检索并转换为bytearray,然后将其转换为一个新图像,然后我尝试修复方向,因此我不知道是否可以显式地正确创建方向,而不知道我正在用手机录制的是什么如果缩略图是使用用于ffmpeg的NReco.VideoConverter包装器提取,您可以从视频元数据中检测方向,并在缩略图提取期间执行必要的旋转。