Avatar billede jobdollas Nybegynder
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 ?
Avatar billede madschristensen Nybegynder
21. juni 2005 - 15:49 #1
Følger spændt med...
Avatar billede madschristensen Nybegynder
21. juni 2005 - 16:02 #2
http://www.dotnetjohn.com/gdi.aspx

Der er vist alt hvad du (og jeg) skal bruge ;O))
Avatar billede jobdollas Nybegynder
21. juni 2005 - 16:12 #3
Ja, så er det lige noget med at få saat det sammen... :(
Avatar billede jokkejensen Novice
21. juni 2005 - 16:46 #4
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);
Avatar billede jokkejensen Novice
21. juni 2005 - 16:47 #5
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
Avatar billede jokkejensen Novice
21. juni 2005 - 16:49 #6
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);
Avatar billede jobdollas Nybegynder
22. juni 2005 - 10:22 #7
har du fået samlet noget???
Avatar billede jokkejensen Novice
22. juni 2005 - 12:27 #8
om jeg har fået samlet noget ?
Avatar billede jobdollas Nybegynder
22. juni 2005 - 15:34 #9
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>
---
Avatar billede madschristensen Nybegynder
23. juni 2005 - 08:59 #10
Nu vil jeg ikke være pernitten - men skulle du så ikke have givet jokkejensen point ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester