Jeg har et problem med at få resized billeder.
Meningen er, at når man uploader et billede, så skal der oprettes forskellige udgaver af billedet i forskellige størrelser, derfor har jeg lavet en klasse der indeholder resize-metoden.
Min klasse-fil ser sådan ud:
- using System.Drawing;
- using System.Drawing.Drawing2D;
-
- public class imageFunctions
- {
- public void ResizeImage(string originalBilledeSti, int nyBredde, string nytBillede)
- {
- Image originalBillede = Image.FromFile(originalBilledeSti);
-
- int nyHojde = (originalBillede.Height / originalBillede.Width) * nyBredde;
-
- Bitmap nyBitmap = new Bitmap(originalBillede, nyBredde, nyHojde);
-
- Graphics nyGrafik = Graphics.FromImage(nyBitmap);
-
- nyGrafik.SmoothingMode = SmoothingMode.HighQuality;
- nyGrafik.InterpolationMode = InterpolationMode.High;
-
- nyGrafik.DrawImage(originalBillede, 0, 0, nyBredde, nyHojde);
-
- nyBitmap.Save(nytBillede);
-
- nyBitmap.Dispose();
- nyGrafik.Dispose();
- }
- }
Når jeg kører den fra denne kode:
- 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.Drawing2D;
- using System.IO;
-
- public partial class img : System.Web.UI.Page
- {
-
- imageFunctions objImageFunctions = new imageFunctions();
-
- protected void btnUpload_Click(object sender, EventArgs e)
- {
-
- string strFile = MapPath("~/Uploads/Temp/") + FileUpload1.FileName;
-
- FileUpload1.SaveAs(strFile);
-
- objImageFunctions.ResizeImage(strFile, 200, MapPath("~/Uploads/Resized/") + FileUpload1.FileName);
-
- File.Delete(strFile);
- }
- }
får jeg denne fejl:
System.ArgumentException: Parameter is not valid.der henviser til denne linje:
- Bitmap nyBitmap = new Bitmap(originalBillede, nyBredde, nyHojde);
Er der nogen der kan hjælpe mig her, og fortælle mig hvorfor det ikke virker?
Indlæg senest redigeret d. 29.12.2010 21:37 af Bruger #16330