Rotere bilder i ASP.NET

I klassisk ASP så finnes det ingen innebygget funksjonalitet for å rotere bilder. Da må man bruke tredjeparts-komponenter som f.eks ASPJpeg. I ASP:NET derimot så finnes det et innebygget bibliotek som heter System.Drawing og kan brukes både for å rotere bilder og for annen form av bildemanipulering.

Rotere et bilde

Nedenfor finner du eksempelkode for å rotere et bilde. Noter at koden må modifiseres litt for at det skal virke for akkurat ditt bilde. Søkeveien til filen må forandres, og man kan også trenge å justere bildetypen om man ikke bruker PNG-bilder.

Koden er skrevet for å brukes i så kalt codebehind-posisjon og kan trenge modifikasjoner for å virke korekt. Du burde justere namespace og klassenavn etter navn på prosjektet ditt og ASP.NET-formularet ditt.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

namespace MyProject
{
    public partial class MyClass: System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            // Read source data
            System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("./images/test.png"));

            // Rotate & Flip
            img.RotateFlip(RotateFlipType.Rotate90FlipX);

            // Output
            Response.Clear();
            Response.ClearHeaders();
            Response.AddHeader("Content-Type", "image/png");
            MemoryStream ms = new MemoryStream();
            img.Save(ms, ImageFormat.Png);
            ms.WriteTo(Context.Response.OutputStream);
            Response.End();
        }
    }
}

Verdien for RotateFlip

De verdiene man kan bruke for anropet til metoden RotateFlip() kan man se i dokumentasjonen for RotateFlipType . Husk at man ikke bare kan rotere bildene med denne metoden, men må også speilvende bildene på forskjellige steder steder.

Var denne artikkelen til hjelp?

Related Articles