Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    si sgrana con il resize come mai?

    uso un resize aspx di seguito metterò il codice ma prima spiego...
    mi da in risultato una thumb tutta sgranata...

    ecco il risultato

    come mai?

    ecco il codice del resize

    Codice PHP:
    <%@ Page Language="C#" %>
    <%@ 
    import Namespace="System.Drawing" %>
    <%@ 
    import Namespace="System.Drawing.Imaging" %>
    <%@ 
    import Namespace="System.Text.RegularExpressions" %>
    <
    script runat="server">

        
    int MaxWidth 100// Larghezza massima dopo il quale l'immagine viene ridimensionata
        
    int MaxHeight 100;  // Altezza massima dopo il quale l'immagine viene ridimensionata
        
    int ScaleFactor 20// Fattore di scala per la miniatura
        
    System.Drawing.Image oldImagenewImage;

        
    void Page_Load(Object senderEventArgs e) {
            if ( 
    Request.QueryString["FileName"] != null ) {
                
    string strFileName Convert.ToString(Request.QueryString["FileName"]);
                if ( 
    Request.QueryString["ScaleFactor"] != null && Convert.ToString(Request.QueryString["ScaleFactor"]) != "" && IsInteger(Convert.ToString(Request.QueryString["scalefactor"])) ) ScaleFactor Convert.ToInt32(Request.QueryString["ScaleFactor"]);
                if ( 
    strFileName != "" ) {
                    try {
                        
    oldImage System.Drawing.Image.FromFileServer.MapPath(strFileName) );
                        if ( 
    oldImage.Width MaxWidth || oldImage.Height MaxHeight ) {
                            
    // Immagine troppo grande, visualizzo la miniatura
                            
    newImage oldImage.GetThumbnailImage( (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), nullIntPtr.Zero);
                            
    Response.ContentType "image/jpeg";
                            
    newImage.Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Jpeg);
                            
    oldImage.Dispose();
                            
    newImage.Dispose();
                            
    oldImage null;
                            
    newImage null;
                        } else {
                            
    // Immagine piccola, non faccio nulla
                            
    Response.ContentType "image/jpeg";
                            
    oldImage.Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Jpeg);
                            
    oldImage.Dispose();
                            
    oldImage null;
                        }
                    } catch (
    Exception ex) {
                        
    Response.Write(ex.Message);
                    }
                }
            }
        }

        private 
    bool IsInteger(string strTmp) {
            
    Regex objNotIntPattern = new Regex("[^0-9-]");
            
    Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$");
            return !
    objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp);
        }

    </script> 
    grazie infinite
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    puoi mandare il link della foto originale così da fare esperimenti?
    Pietro

  3. #3
    Il metodo GetThumbnailImage non è adatto a ridimensionare immagini con dimensioni simili.
    Come il nome suggerisce, è indicato per generare piccole miniature (max 150px di larghezza ad es.).

    Prova ad usare la classe Bitmap.. in fase di inizializzazione indichi il file JPEG originale e gli imposti le dimensioni:

    codice:
    Bitmap b = new Bitmap( System.Drawing.Image.FromFile("c:\\blallblalblabla"), 300, 200 );
    Ovviamente cerca di ridimensionare in modo proporzionale.


  4. #4
    Originariamente inviato da ZofM
    Il metodo GetThumbnailImage non è adatto a ridimensionare immagini con dimensioni simili.
    Come il nome suggerisce, è indicato per generare piccole miniature (max 150px di larghezza ad es.).

    Prova ad usare la classe Bitmap.. in fase di inizializzazione indichi il file JPEG originale e gli imposti le dimensioni:

    codice:
    Bitmap b = new Bitmap( System.Drawing.Image.FromFile("c:\\blallblalblabla"), 300, 200 );
    Ovviamente cerca di ridimensionare in modo proporzionale.

    potresti farmi un esempio relativo a dove inserire quanto sopra...non sono pratico di asp net

    grazie
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  5. #5
    ci sono tantissime discussioni qui sul forum con esempi vari...fai una ricerca troverai quello di cui hai bisogno, ad esempio qui ne trovi una prova qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.