Öncelikle 1. resmin gösterileceği sayfa
2. hafıza işleminin yapılacağı sayfa
Şimdi 1. sayfa örn: "görüntüle.aspx" içerisimde de bir adet img nesnesi var:
<img src="resimboyutla.aspx?dosyaadi=1.jpg" />
yukarıda fark ettiğiniz gibi img nesnesinin kaynağını bir resim değil aspx sayfası olarak gösterdim ve resmin adını gönderdim. Şimdi ikinci aşama resimboyutla.aspx içini tasarlayalım.
public partial class resimboyutla : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string path = Server.MapPath("~/images/" + Request.QueryString["dosyaadi"]); Image original = Image.FromFile(path); Image resized = ResizeImage(original, new Size(100, 100)); MemoryStream memStream = new MemoryStream(); resized.Save(memStream, ImageFormat.Jpeg); Byte[] bytes = new Byte[memStream.Length]; memStream.Position = 0; memStream.Read(bytes, 0, (int)bytes.Length); Response.ContentType = "image/JPEG"; Response.BinaryWrite(bytes); original.Dispose(); resized.Dispose(); Response.End(); } public static Image ResizeImage(Image image, Size size, bool preserveAspectRatio = true) { int newWidth; int newHeight; int ofsetx = 0; int ofsety = 0; if (preserveAspectRatio) { int originalWidth = image.Width; int originalHeight = image.Height; float percentWidth = (float)size.Width / (float)originalWidth; float percentHeight = (float)size.Height / (float)originalHeight; float percent = percentHeight < percentWidth ? percentHeight : percentWidth; newWidth = (int)(originalWidth * percent); newHeight = (int)(originalHeight * percent); if (newWidth > newHeight) { ofsetx = 0; ofsety = (size.Height - newHeight) / 2; } else { ofsetx = (size.Width - newWidth) / 2; ofsety = 0; } } else { newWidth = size.Width; newHeight = size.Height; } Image newImage = new Bitmap(size.Width, size.Height); using (Graphics graphicsHandle = Graphics.FromImage(newImage)) { graphicsHandle.InterpolationMode = InterpolationMode.HighQualityBicubic; graphicsHandle.FillRectangle(new SolidBrush(Color.White), 0, 0, size.Width, size.Height); graphicsHandle.DrawImage(image, ofsetx, ofsety, newWidth, newHeight); } return newImage; } }