Rotera bilder i ASP.NET

I klassisk ASP finns det ingen inbyggd funktion för att rotera bilder – då behöver du använda tredjepartskomponenter som till exempel ASPJpeg. I ASP.NET finns däremot ett inbyggt bibliotek som heter System.Drawing. Det kan användas både för att rotera bilder och för annan bildmanipulering.

Rotera en bild

Nedan hittar du exempelkod för att rotera en bild. Tänk på att koden behöver anpassas något för att fungera med just din bild. Sökvägen till filen måste ändras, och du kan också behöva justera bildtypen om du inte använder PNG-bilder.

Koden är skriven för att användas i så kallat codebehind-läge och kan behöva anpassas för att fungera korrekt i andra lägen. Justera namespace och klassnamn efter namnet på ditt projekt och ditt ASP.NET-formulär.

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();
        }
    }
}

Värden för RotateFlip

Vilka värden du kan använda för anropet till metoden RotateFlip() hittar du i dokumentationen för RotateFlipType. Tänk på att du inte bara kan rotera bilden med den här metoden, utan också spegelvända den åt olika håll.

Was this article helpful?

Related Articles

Få hjälp via fjärrsupport

Klicka på knappen nedan för att starta fjärrsupport via ISL. Ange sessionskoden du fått från oss och klicka på Anslut, så är vi med dig alldeles strax!

Starta fjärrsupport