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

    Upload+Thumbnail di qualità alta

    Ciao a tutti,

    nonostante l'argomento sia già stato trattato più volte su questo forum, e consapevole del fatto che potrebbe essere antipatico ripostare la stessa domanda, vi confesso che dopo 3 giorni che ci sbatto la testa non sono ancora riuscito ad ottenere un Upload-Resize dignitoso.

    ho provato lo script di R.B. Riddick , ma le thumb prodotte hanno una qualità troppo bassa per il mio scopo.

    Ho provato anche a usare questa dll ma non sono riuscito a farla funzionare.

    so che per poter avere thum di qualità lo script deve lavorare con queste proprietà:
    Codice PHP:
    CompositingQuality.HighQuality ;
    SmoothingMode.HighQuality ;
    InterpolationMode.HighQualityBicubic 
    Sono ai primi passi di ASP.net e valuterò esempi scritti solo in c#, poicè è questo il linguaggio che ho scelto di imparare.

    Ringrazio fin da subito chiunque vorra aiutarmi

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    la dll citata,

    http://www.artlabs.it/blogs/simone/i...hp/2007/02/27/

    basta metterla nella directory bin dell'applicazione e seguire l'esempio riportato: funziona al primo colpo
    :master:


    ps. è difficile trovare un modo più semplice per farla funzionare.

    per quanto poi riguarda la
    ...valuterò esempi scritti solo in c#...
    hai fatto bene a dirlo: ti avrei mandato qualcosa in basic, sicuramente funzionante, facilmente traducibile in c# con un reflector

    Pietro

  3. #3
    >>... facilmente traducibile in c# con un reflector.

    Ah non sapevo che ci fosse questa possiblità

  4. #4

    sono riuscito a far funzionare la DLL

    Sono riuscito a far funzionare la DLL in un progetto VB e ora vorrei usare la DLL in un progetto che abbia CodeBehind scritto in C#.

    Dai post che ho letto m i sembra di capire che questo sia fattibile ma non mi è chiaro come converire il seguente codice VB in codice c#:

    Codice PHP:
    Protected Sub Page_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load
     Dim artObj 
    As ArtLabs.Pictures.Engine

            artObj 
    = New ArtLabs.Pictures.Engine

            artObj
    .ResizeToFile(Server.MapPath("/Album/foto_full/Z_multa.gif"), _
                   Server
    .MapPath("/Album/foto_prw/target.jpg"), _
                   
    New System.Drawing.Size(300300), _
                   System
    .Drawing.Imaging.ImageFormat.JpegTrue80)

            
    artObj.Dispose()
            
    artObj Nothing

        End Sub 

    Qualcuno puo aiutarmi?

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Questa è la traduzione c# fatta da un programmatore basic , perciò attento, il programmatore c# sei tu

    codice:
    artObj.ResizeToFile(Server.MapPath("/ProveNicon/DSCN0042.JPG"), _
    	   Server.MapPath("/tmp/target.jpg"), _
    	   New System.Drawing.Size(200, 200), _
    	   System.Drawing.Imaging.ImageFormat.Jpeg, True, 80)
    
    artObj.Dispose()
    
    
    
    
    
    ArtLabs.Pictures.Engine artObj = new ArtLabs.Pictures.Engine();
    
    artObj.ResizeToFile(Server.MapPath(@"/ProveNicon/DSCN0042.JPG"),
    	Server.MapPath("/tmp/target.jpg"),
    	new System.Drawing.Size(200, 200),
    	System.Drawing.Imaging.ImageFormat.Jpeg, true, 80);
    
    artObj.Dispose();

    In questo indirizzo ho la libreria che uso io. Se ti interessa, la scarichi (è zippata), la metti nella directory bin, e la provi. Per vedere come si usa, basta che tu dica esattamente cosa vuoi, partendo da esempi facili, per andare ai più complessi.

    http://web.tiscali.it/archivio_esempi/zip/gdi.zip
    Pietro

  6. #6
    Grazie mille Pietro09
    Sono risucito a far funzionare la DLL di ArtLabs nel mio progetto C#.

    Se non sbaglio la tua DLL implementa anche il metodi WhiteSpace vero?
    Sapresti dirmi quali sono le principali differenze tra la tua DLL e quella di ArtLabs ?


    Grazie mille
    MM

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Marvellous
    Se non sbaglio la tua DLL implementa anche il metodi WhiteSpace vero?
    Sapresti dirmi quali sono le principali differenze tra la tua DLL e quella di ArtLabs ?


    Grazie mille
    MM
    1) non so cosa sia "WhiteSpace": :master:

    2) ArtLabs l'ha fatta Simo, l'altra l'ho fatta io :master: (ma che razza di domande fai?)
    Pietro

  8. #8
    mi sa che ho cantato vittoria troppp presto

    Codice PHP:
            protected void Page_Load(object senderEventArgs e)
            {
                
    ArtLabs.Pictures.Engine artObj = new ArtLabs.Pictures.Engine();

                
    artObj.ResizeToFile(Server.MapPath("/foto_full/Angolo_della_bocca.jpg"),
                
    Server.MapPath("/foto_prw/target.jpg"),
                new 
    System.Drawing.Size(200200),
                
    System.Drawing.Imaging.ImageFormat.Jpegtrue80);

                
    artObj.Dispose();
            } 
    la DLL non finziona se viene richimata da codice c#, tra l'altro non viene restituito nessun tipo di errore per cui diventa impossibile capire cosa non funziona

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
        protected void Page_Load(object sender, EventArgs e)
        {
            ArtLabs.Pictures.Engine artObj = new ArtLabs.Pictures.Engine();
    
            artObj.ResizeToFile(Server.MapPath(@"/ProveNicon/DSCN0042.JPG"),
                Server.MapPath("/tmp/target.jpg"),
                new System.Drawing.Size(200, 200),
                System.Drawing.Imaging.ImageFormat.Jpeg, true, 80);
    
            artObj.Dispose();
    
        }
    a me ha funzionato al primo colpo

    ps. naturalmente, la directory di output (nel mio caso, c:\tmp) deve avere i permessi di scrittura per l'utente asp.net.
    Pietro

  10. #10
    se nella chimata a artObj.ResizeToFile specifico a meno un path assoluto (es:c:/temp/img01.jpg) funziona benissimo anche anche me, ma il mio scopo è fare primia l'upload e poi il resize.
    I problemi ci sono quando cerco di parametrizzare artObj.ResizeToFile con nomi di file provenini dall'oggetto HttpPostedFile

    Pagina Default.aspx
    Codice PHP:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication5._Default" %>
    <
    html xmlns="http://www.w3.org/1999/xhtml" >
    <
    head runat="server"><title>titolo</title></head>
    <
    body>
        <
    form id="form1" runat="server">
        <
    div>
            <
    asp:Label ID="lbl_status" runat="server"></asp:Label>

            <
    asp:FileUpload ID="FileUpload1" runat="server" />

            <
    asp:FileUpload ID="FileUpload2" runat="server" />

            

            <
    asp:Button ID="bt_upload" runat="server" OnClick="bt_upload_Click" Text="Carica" /></div>
        </
    form>
    </
    body>
    </
    html
    Pagine defaul.aspx.cs
    Codice PHP:
    protected void bt_upload_Click(object senderEventArgs e)
            {
                
    HttpFileCollection uploadedFiles Request.Files;
                for (
    int i 0uploadedFiles.Counti++)
                {
                    
    UploadAndResizeAnImage(uploadedFiles[i], 10090"album/foto_prw"true);
                }

            }

            private 
    void UploadAndResizeAnImage(HttpPostedFile fileint newWidthint newHeightstring virPathbool overwrite)
            {
               
    string destPath Server.MapPath(virPath);
               
    string fileName Path.GetFileName(file.FileName);
               
    //string PathFileName = Path.GetFullPath(file.FileName);

               
    ArtLabs.Pictures.Engine artObj = new ArtLabs.Pictures.Engine();
               
    artObj.ResizeToFile(file.FileName,
               
    destPath+"\\"+fileName,
               new 
    System.Drawing.Size(200200),
               
    System.Drawing.Imaging.ImageFormat.Jpegtrue80);
               
    artObj.Dispose();
            } 

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.