質問

How do I use the AutoRotate plugin in a c# console application? I thought I'd be able to do something like settings.AutoRotate = true; like I can change the fit mode to use the seam carving plugin.

I've tried settings.Add("autorotate","true") to the keycollection, as well as other keynames AutoRotate and autoRotate.

I'm using it in a simple method.

    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);
    }
役に立ちましたか?

解決

After a lot of research, I've found the error that I'm making, and reveals a nice little "hidden feature" of .Net!

When an image is read into the Bitmap object, the meta data is erased, so, by accepting an Image object, the data about the orientation is lost and auto rotate doesn't kick in. So, passing the image filename instead of the image object, and my code above above works!

Thanks guys!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top