Pregunta

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);
    }
¿Fue útil?

Solución

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!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top