如何在ImageResizer中使用自动旋转插件

本文关键字:旋转 插件 ImageResizer | 更新日期: 2023-09-27 18:30:45

如何在 C# 控制台应用程序中使用 AutoRotate 插件?我以为我可以做一些类似settings.AutoRotate = true;比如我可以更改适合模式以使用接缝雕刻插件。

我尝试settings.Add("autorotate","true")密钥集合,以及其他键名AutoRotateautoRotate

我正在以简单的方法使用它。

    new AutoRotate().Install(ImageResizer.Configuration.Config.Current);
    ...
    protected static Image ResizeImage(Image image, double scaleFactor)
    {
        var settings = new ResizeSettings
        {
            Scale = ScaleMode.Both,
            Width = (int)Math.Floor(Image.Width * scaleFactor),
            Height = (int)Math.Floor(Image.Height * scaleFactor),
            Mode = FitMode.None,
            Format = "png"
        };
        settings.Set("autorotate", "true");
        return ImageBuilder.Current.Build(image, settings, true);
    }

如何在ImageResizer中使用自动旋转插件

经过大量研究,我发现了我正在犯的错误,并揭示了 .Net 的一个很好的小"隐藏功能"!

当图像被读入 Bitmap 对象时,元数据将被擦除,因此,通过接受 Image 对象,有关方向的数据将丢失,并且自动旋转不会启动。因此,传递图像文件名而不是图像对象,我上面的代码有效!

谢谢大家!