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.
