163 messaggi dal 09 aprile 2009
Mi serve fare l'upload di un'immagine da ridimensionare e lo script in oggetto sembra l'ideale, però non so se sono io o è lo script ma il risultato non è ottimale. Infatti l'immagine uplodata non viene ridimensionata

private void ResizeAndSave(Stream imgStr, int Width, int Height, string FileName)
{
//creo il bitmap dallo stream
System.Drawing.Image bmpStream = System.Drawing.Image.FromStream(imgStr);
//creo un nuovo bitmap ridimensionandolo
Bitmap img = new Bitmap(bmpStream, new Size(Width, Height));
//salvo l'immagine ridimensionata
img.Save(FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

Response.Write("saved");
}
protected void CaricaClick(object sender, EventArgs e)
{
Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;
//controllo che sia un jpg
if (file1.PostedFile.ContentType == "image/jpeg" || file1.PostedFile.ContentType == "image/pjpeg")
{
//pass lo stream del file uplodato
ResizeAndSave(file1.PostedFile.InputStream, 40, 40, "img1.jpg");
//salvo così com'è
string percorso = Server.MapPath(Request.ApplicationPath + "photos/img1g.jpg");
file1.PostedFile.SaveAs(percorso);
}
}

Ho impostato la miniatura a 40*40 .
Tuttavia l'immagine resta invariata nelle dimensioni.

ciao
Modificato da seventh_seal il 21 luglio 2009 14.18 -
Modificato da seventh_seal il 21 luglio 2009 14.19 -

Saluti
The Seventh Seal
3.939 messaggi dal 28 gennaio 2003
come l'ho provato funziona perfettamente. Ecco come l'ho provato:

    protected void Button1_Click(object sender, EventArgs e)
    {

        ResizeAndSave(this.FileUpload1.PostedFile.InputStream, 150, 150, @"c:\tmp\prova.jpg");
    }

    private void ResizeAndSave(Stream imgStr, int Width, int Height, string FileName)
    {
        //creo il bitmap dallo stream 
        System.Drawing.Image bmpStream = System.Drawing.Image.FromStream(imgStr);
        //creo un nuovo bitmap ridimensionandolo 
        Bitmap img = new Bitmap(bmpStream, new Size(Width, Height));
        //salvo l'immagine ridimensionata 
        img.Save(FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

        Response.Write("fatto!");
    }    
non la vedi ridimensionata perche la salvi due volte sovrascivendola

//pass lo stream del file uplodato
ResizeAndSave(file1.PostedFile.InputStream, 40, 40, "img1.jpg");
//salvo così com'è
string percorso = Server.MapPath(Request.ApplicationPath + "photos/img1g.jpg");
file1.PostedFile.SaveAs(percorso);

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
163 messaggi dal 09 aprile 2009
Perfetto!!!!

grazie

Saluti
The Seventh Seal
2 messaggi dal 22 maggio 2012
qual'è e dove posso aggiungere la funzione matematica per generare le miniature con le stese proporzioni degli originali (sia per immagini orizzontai che verticali)? grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.