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

    [2.0-C#] wbResize 0.4 per ASP.net

    Dopo un po' di lavoro ecco pronta la nuova release di wbResize, classe che già molti in ambito ASP conoscono per le sue belle qualità.

    Piccolo riepilogo per chi non la conosce:
    - permette di ridimensionare immagini
    - genera immagini risultanti jpg, gif, png, bmp, tiff
    - accetta parametri di ridimensionamento vari (larghezza e altezza, solo uno dei due, fattore percentuale...)
    - applica filtri di interpolazione per avere immagini qualitativamente valide
    - permette di salvare l'immagine o di visualizzarla on the fly in una <img>
    - e tante altre cosette...

    [ricordo che la classe lavora con il framework 2.0, se avete 1.1 o 1.0 purtroppo non va, cercherò di rimediare con una versione semplificata in futuro]

    ---

    se volete provarla in diretta ecco una DEMO della versione per ASP
    (nello zip è contenuta la demo specifica per ASP.net)
    http://www.imente.org/docs/wbresize/demo.asp

    ---

    ma veniamo alle novità.

    ho riscritto in buona parte la classe per lavorare in ambiente .net puro indi ne è uscita una versione indipendente (chiamata ic.image.resizer) che distribuisco come DLL (con sorgenti).
    il codice è stato ottimizzato e ridotto e questo ha migliorato i tempi di lavoro (già comunque molto bassi)

    questo ha permesso quindi lo sviluppo di una versione concepita appositamente per essere utilizzata in ambiente ASP.net.
    Nello zip che trovate sul sito (link sotto) c'è incluso un esempio per il ridimensionamento on the fly e per il salvataggio

    fra le novità realmente degne di note ho implementato (opzionale, impostando una qualsiasi profondità di colore gif diversa da 0) la quantizzazione della palette per il resize di immagini al formato gif
    il risultato è la creazione di immagini GIF di ottima qualità (rispetto a quella standard di GDI+)

    ora poi wbresize può ridimensionare anche OLTRE le dimensioni originali (con buoni risultati grazie all'interpolazione)

    infine la nuova licenza permette utilizzi commerciali a patto che si mantenga un riferimento all'autore.

    ---

    grazie agli esempi è facile capire come utilizzare la classe, c'è però attiva anche una pagina di documentazione con semplici esempi per ASP.net

    DOCUMENTAZIONE
    http://www.imente.org/docs/wbresize/docs.asp

    DOWNLOAD
    http://www.imente.org/short/wbresize

    ---

    sono convinto che nonostante sia nata per esigenze in ambito ASP possa essere di ottima fruizione anche in ASP.net ora che ho colmato la lacuna della riscrittura della classe in una forma più fruibile...

    attendo commenti per chi ne ha
    san imente saluta

    * http://simonecingano.it *

  2. #2
    nel file samplefly.aspx c'è il codice che riporto

    Codice PHP:

    <%@ Page Language="C#" LCID=1040 Debug="true" Trace="false" %> 
    <%@ 
    Import Namespace="System" %> 
    <%@ 
    Import Namespace="System.IO" %> 
    <%@ 
    Import Namespace="System.Drawing" %> 
    <%@ 
    Import Namespace="System.Drawing.Imaging" %> 
    <%@ 
    Import Namespace="System.Drawing.Drawing2D" %> 
    <%@ 
    Import Namespace="System.Collections" %> 
    <%@ 
    Import Namespace="System.Runtime.InteropServices" %> 
    <%@ 
    Import Namespace="System.Globalization" %>
    <
    script Language="C#" runat="server" src="/wbresize/wbresize.cs"></script>
    <script Language="C#" runat="server" src="/wbresize/quantizer.cs"></script>
    <script Language="C#" runat="server">

    string ThumbType = "";

    void Page_Load(object sender, System.EventArgs e)
    {    
        ThumbType = (Request.QueryString["t"]==null)?"":Request.QueryString["t"];
        
        
        wbResize ImageResizer = new wbResize();
        
        ImageResizer.LoadImage(Server.MapPath("upload/sample.jpg"));        //accetta path, image e stream
        ImageResizer.SetFileType(ThumbType);            //Tipo di output [jpg, gif, bmp, tiff, png]
        ImageResizer.SetThumbSize(500, 500, false);        //Width, Height e forzatura
        //ImageResizer.SetThumbSize(50);                 //IMPOSTA LA % DELL'ORIGINALE
        
        ImageResizer.SetOptionHighQuality(true);        //Alta qualità
        ImageResizer.SetOptionJpegQuality(100);            //Qualità JPEG
        ImageResizer.SetOptionFilter(InterpolationMode.HighQualityBicubic); //Filtro di Interpolazione
        ImageResizer.SetOptionGifDepth(4);                //Profondità colore GIF [0 = off, 1, 2, 4, 8, 255 = grayscale]
        ImageResizer.SetOptionGifPalette(255);            //Dimensione Palette GIF [9-255]
        ImageResizer.SetOptionTiffCompress(true);        //Compressione TIFF
        
        print(ImageResizer.Resize(),ThumbType);

    eccetera eccetera... 
    avrei pero' bisogno di passare, come parametro, l'immagine da ridimensionare.
    Non so cosa modificare... se al posto del nome dell'immagine metto il la variabile non mi funziona....
    cos'altro devo fare?
    grazie

  3. #3
    Originariamente inviato da pieroweb82
    avrei pero' bisogno di passare, come parametro, l'immagine da ridimensionare.
    Non so cosa modificare... se al posto del nome dell'immagine metto il la variabile non mi funziona....
    cos'altro devo fare?
    grazie
    se per parametro intendi la querystring...

    codice:
    ImageResizer.LoadImage(Server.MapPath(Request.QueryString["immagine"]));
    samplefly.aspx?immagine=upload/sample.jpg

    sarebbe ovviamente meglio fare un controllo di ciò che entra invece che prenderlo direttamente come ho fatto io nel brevissimo esempio poco sopra, in ogni caso così funziona.

    ---

    colgo l'occasione di questo post per segnalare che c'è un piccolissimo aggiornamento (la nuova versione è la 0.41)
    san imente saluta

    * http://simonecingano.it *

  4. #4
    imentuccio caro me la traduci in java, che la classe che ho fatto io non è che mi faccia proprio impazzire, anche se funge piuttosto bene direi

    buon lavoro
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    da dove viene questa classe ??

    wbResize

  6. #6
    Originariamente inviato da cassano
    da dove viene questa classe ??

    wbResize

    da Dio Imente, figlio di pztnir, padre di kraknur, colui che ha scalato il monte azknir, che ha distrutto le orde strabzek, che può leggere nel passato, nel presente e nel futuro!


    :quote:
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.