Hej Peter :o)
Kan du bruge denne her ?
// først en testside (kun aspx-kode her)
<%@ Page language="c#" Codebehind="test.aspx.cs" AutoEventWireup="false" Inherits="EXP2.PeterLang.test" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>test</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="
http://schemas.microsoft.com/intellisense/ie5"> </HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:Image id="Image1" runat="server" ImageUrl="foto.aspx?sti=img1.jpg"></asp:Image>
<asp:Image id="Image2" runat="server" ImageUrl="foto.aspx?sti=img2.jpg"></asp:Image>
</form>
</body>
</HTML>
Og så en en aspx-til den "side" der genererer billedet :
<%@ Page language="c#" Codebehind="foto.aspx.cs" AutoEventWireup="false" Inherits="EXP2.PeterLang.foto" %>
// denne "side" har så en code-behind, der gemmer et billede i outputstream sådan her :
using System;
using System.Drawing;
using System.Drawing.Imaging;
namespace EXP2.PeterLang
{
public class foto : System.Web.UI.Page
{
protected const int WIDTH = 100;
protected const int HEIGHT = 100;
private void Page_Load(object sender, System.EventArgs e)
{
string path = Server.MapPath("~/Images/Dices/" + Request["sti"]);
Bitmap bmp = ImageResizer.RezizeImage(path, WIDTH, HEIGHT);
Response.ContentType = "image/jpeg";
bmp.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
bmp.Dispose();
}
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
}
public class ImageResizer
{
public static Bitmap RezizeImage(string filePath, int width, int height)
{
System.Drawing.Bitmap bmpOut = null;
try
{
Bitmap bmp = new Bitmap(filePath);
bmpOut = new Bitmap(width, height);
Graphics g = Graphics.FromImage(bmpOut);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.FillRectangle(Brushes.White, 0, 0, width, height);
g.DrawImage(bmp, 0, 0, width, height);
bmp.Dispose();
}
catch
{
return null;
}
return bmpOut;
}
}
}
Det virker ganske udemærket her, og kvaliteten er helt fint.