21. juni 2005 - 15:42
Der er
9 kommentarer og 1 løsning
upload med ændring af størrelsen på billedet
Jeg har brug for "et eller andet" så jeg kan uploade et billede, så så via en variabel bestemme i hvilken størrelse billedet skal gemmes... f.eks type0 = "60x60" type1 = ""100x100" osv.. Er der nogle der har en ide til det ?
Annonceindlæg fra Cepheo
Ja, så er det lige noget med at få saat det sammen... :(
Bitmap BitmapDest = new Bitmap(DestWidth,DestHeight); BitmapDest.RotateFlip(RotateFlipType.Rotate180FlipNone); BitmapDest.RotateFlip(RotateFlipType.Rotate180FlipNone); Graphics bmpGraphics = Graphics.FromImage(BitmapDest); // set Drawing Quality bmpGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic; strFileName += FileName.Text; strNavn = FileName.Text; strFileName += ".jpg"; Rectangle compressionRectangle = new Rectangle(0, 0, DestWidth, DestHeight); bmpGraphics.DrawImage(BitmapSource, compressionRectangle); BitmapDest.Save(Server.MapPath("upload/"+strFileName), ImageFormat.Jpeg);
det er noget gammel noget.. men det virker upåklageligt.. Jeg svinger lige billedet rundt for at få ordentligt kvalitet, aner ikke hvorfor, men læste mig frem til det på et andet forum
float flDestWidth = 100;//ret kun dette tal float flOriginalDestWidth = BitmapSource.Width; float flForhold = flDestWidth / flOriginalDestWidth; float flDestHeight = BitmapSource.Height * flForhold; DestWidth = Convert.ToInt32(flDestWidth); DestHeight = Convert.ToInt32(flDestHeight);
har du fået samlet noget???
om jeg har fået samlet noget ?
Jeg har lavet det her ud fra hvad jeg har læst, og det virker: --- <%@ Page Language="C#" %> <%@ import Namespace="System" %> <%@ import Namespace="System.Collections" %> <%@ import Namespace="System.Drawing.Imaging" %> <script runat="server"> public enum SizeConversionType { Type1 } private const string IMAGE_FOLDER = ""; protected SizeConversionType ConversionType { get { object o = Request.QueryString["SizeConversionType"]; try { return (SizeConversionType)Enum.Parse(typeof(SizeConversionType), o.ToString(), true); } catch { return SizeConversionType.Type1; } } } protected string ImageFileName { get { return (object)Request.QueryString["ImageFileName"] != null ? Request.QueryString["ImageFileName"] : null; } } protected void Page_Load(object sender, System.EventArgs e) { string path = Server.MapPath(IMAGE_FOLDER + ImageFileName); System.Drawing.Image orgImage = System.Drawing.Image.FromFile(path); int orgWidth = orgImage.Width; int orgHeight = orgImage.Height; orgImage.Dispose(); int newWidht = 0; int newHeigth = 0; switch(ConversionType) { case SizeConversionType.Type1 : if(orgWidth == 480 && orgHeight == 640) { newWidht = 150; newHeigth = (int)((newWidht/(double)orgWidth)*orgHeight); } else if(orgWidth == 640 && orgHeight == 480) { newWidht = 150; newHeigth = (int)((newWidht/(double)orgWidth)*orgHeight); } else { newWidht = 150; newHeigth = (int)((newWidht/(double)orgWidth)*orgHeight); } break; } System.Drawing.Image image = ImageResizer.RezizeImage(path, newWidht, newHeigth); Response.ContentType = "image/jpeg"; image.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg); image.Dispose(); } public class ImageResizer { public static System.Drawing.Bitmap RezizeImage(string filePath, int width, int height) { System.Drawing.Bitmap bmpOut = null; try { System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(filePath); bmpOut = new System.Drawing.Bitmap(width, height); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmpOut); g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.FillRectangle(System.Drawing.Brushes.White, 0, 0, width, height); g.DrawImage(bmp, 0, 0, width, height); bmp.Dispose(); } catch { return null; } return bmpOut; } } </script> ---
23. juni 2005 - 08:59
#10
Nu vil jeg ikke være pernitten - men skulle du så ikke have givet jokkejensen point ?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.