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

    Articolo DrawImage e Thumbs quadrate

    Salve a tutti.
    Ieri mi sono messo a leggere un articolo comparso qui su Html.it
    http://aspnet.html.it/articoli/leggi...ls-quadrate/1/

    Interessante e forse utile... dico forse perché a me il codice non funziona!
    Mi dice che è impossibile accedere al file web.config! Qualcuno di voi ha provato?

    Per esattezza mi dice:

    codice:
    Errore server nell'applicazione '/'.
    --------------------------------------------------------------------------------
    Errore di configurazione. 
    
    Descrizione: Si è verificato un errore durante l'elaborazione di un file di configurazione necessario per soddisfare la richiesta. Verificare i dettagli dell'errore specifico riportati di seguito e modificare il file di configurazione in modo appropriato. 
    
    Messaggio di errore del parser: Errore durante il caricamento di un file di configurazione: Accesso negato. Impossibile avviare il monitoraggio delle modifiche a 'c:\inetpub\wwwroot\koolmind\sqrthumb\web.config'.
    Ammetto di essere un principiante con Asp.net, ma non capisco dove stia il problema... tanto più che nel file web.config si fa riferimento ad una stringa di connessione ad un DB che nemmeno esiste tra i dati forniti con lo script, e ad occhio non viene nemmeno usato nello script stesso!

    Grazie dell'aiuto... ormai è questione di curiosità!
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  2. #2
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    io l'ho provato e va senza problemi
    l'ho adattato per inserire tutto il codice nel code-behind ma il principio non cambia
    per quanto riguarda il web.config per questo esempio non serve alcuna modifica allo stesso perciò va bene il default

  3. #3
    Tue modifiche a parte...
    non capisco alcune cose: 1) perché a me dà errore; 2) come mai c'è una stringa di connessione ad un DB che non esiste tra i dati forniti e inoltre non viene nemmeno mai utilizzato all'interno del codice.

    Ma tu lo hai messo direttamente nella root del server? (io uso IIS se interessa) Oppure si trova in una sottocartella e dunque devo adattare qualcosa?

    Grazie
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  4. #4
    Non mi è chiaro il perché, ma se metto il codice nella root mi funziona...
    Ovviamente sbaglio io, ma non dovrebbe essere accessibile una qualunque cartella virtuale all'interno della root?? e il web.config si deve PER FORZA trovare nella root?

    Grazie
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  5. #5
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    l'allegato non l'ho guardato, se vuoi prova questo
    ovviamente va cambiato percorso e nome dell'immagine, quelle che ho indicato si riferiscono a impostazioni mie locali
    i parametri non sono in GET solo per comodità


    codice:
    using System;
    using System.Drawing;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    public partial class Default2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
            // contenitore dell'immagine in ingresso
            System.Drawing.Image immagineIN;
    
    
            // prende i dati dalla querystring
            //int dimLato = Convert.ToInt32(Request.QueryString["lato"]);
            int dimLato = 120;
            //string strNomeFile = Request.QueryString["nomefile"];
            string strPercorsoImmagine = Server.MapPath(".") + "/images/pippo.jpg";
            
    
            try 
            {
                // carica l'immagine di partenza
                immagineIN = System.Drawing.Image.FromFile(strPercorsoImmagine);
    
                // determina l'orientamento dell'immagine
                bool orizzontale = (immagineIN.Width > immagineIN.Height);
    
                // misura lato minore e maggiore
                int latoMinore = (orizzontale) ? immagineIN.Height : immagineIN.Width;
                int latoMaggiore = (orizzontale) ? immagineIN.Width : immagineIN.Height;
    
                // calcola le coordinate per centrare l'immagine nel rettangolo di taglio
                int posizione_centrale = latoMaggiore / 2 - latoMinore / 2;
    
                int posX = (orizzontale) ? posizione_centrale: 0;
                int posY = (orizzontale) ? 0: posizione_centrale;
    
                // crea un nuovo oggetto bitmap delle dimensioni della thumbnail
                // che useremo per ottenere la superficie grafica
                using (Bitmap bmThumb = new Bitmap(dimLato, dimLato, System.Drawing.Imaging.PixelFormat.Format24bppRgb))
                {
                  using (Graphics grTela = Graphics.FromImage(bmThumb))
                  {
                    // rettangolo per il ridimensionamento
                    Rectangle rectDimensioniFinali = new Rectangle(0, 0, dimLato, dimLato);
    
                    // Imposta un'interpolazione molto accurata (più lenta)
                    grTela.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
    
                    // disegna l'immagine nella thumbnail
                    grTela.DrawImage(immagineIN, rectDimensioniFinali, posX, posY, latoMinore, latoMinore, GraphicsUnit.Pixel);
    
                    // indica al client che sta per ricevere un'immagine Jpeg
                    Response.ContentType = "image/jpeg";
                    bmThumb.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
                  }
                }
                    immagineIN.Dispose();
                    immagineIN = null;
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
        }
    }

  6. #6
    Mi pare di capire che tu hai unito il file .cs con il file .aspx
    ne ignoro il motivo ma mi fido!

    Dopo provo il tuo codice, cmq sono riuscito a far funzionare anche l'allegato... questione di permessi sulle cartelle virtuali!

    Grazie
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

  7. #7
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    in che senso unito il file cs con aspx?
    quello che ho postato è il code-behind di un file di nome Default2.aspx

  8. #8
    Ah scusa... non avevo capito!
    In effetti il codice che hai postato è molto simile a quello allegato.
    Dice il saggio:
    Non ci sono domande difficili, esistono solo risposte che non conosciamo!
    "Se qualcosa può andare male, lo farà" - Murphy

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.