Visualizzazione risultati 1 fino 6 di 6

Discussione: Classe per aggiungere watermark diagonali in foto

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito Classe per aggiungere watermark diagonali in foto

    Buongiorno,
    conoscete qualche classe php (o comunque qualche mini-script) che aggiunga un watermark diagonalmente sulle foto on-fly?

    Io ho creato un mio script per questa cosa ma su server leggermente più lenti da un risultato orribile e ci impiega troppo tempo per caricare le immagini mentre sul mio PC non da problemi.

    Una volta conoscevo una classe che faceva di tutto e di più ma non ricordo come si chiama e non riesco più a trovarla.

    Il watermark da aggiungere è una semplice png trasparente o, alternativamente, posso aggiungere anche del testo con una determinata font.

    Spero possiate aiutarmi.
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    Guest

    Predefinito

    Ciao, non l'ho mai usata ma ha la funzionalitá di cui hai bisogno, magari puó esserti utile: Image class (GitHub)

  3. #3
    Guest

    Predefinito

    Puoi farlo senza usare librerie aggiuntive, puoi farlo in modo nativo così:
    Codice PHP:
    <?php

    $stamp
    = imagecreatefrompng('stamp.png'); //watermark
    $im = imagecreatefromjpeg('photo.jpeg'); /la tua foto

    // Imposti i margini del watermark
    $marge_right = 10;
    $marge_bottom = 10;
    $sx = imagesx($stamp);
    $sy = imagesy($stamp);

    // Inserisci il watermark calcolando la posizione corretta
    imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

    // Stampi il risultato e pulisci la memoria
    header('Content-type: image/png');
    imagepng($im);
    imagedestroy($im);
    ?>
    Fonte: http://php.net/manual/en/image.examples-watermark.php

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Guarda a quello anch'io c'ero arrivato. Non funziona come voglio io per questo scrissi quel codice che adesso non uso perchè sembra lento e volevo adottare una classe.

    Quella suggeritami da notalk sembra abbastanza buona ma c'è di meglio in giro. C'è qualcuno che ha altri suggerimenti?
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Una classe php, a come la intendo io, utilizza le librerie installate sul tuo server (per php).
    Pertanto, non vedo come una classe che utilizzi sempre la stessa libreria (ipotizzando GD) possa migliorarne le prestazioni... anzi dal punto di vista dell'efficienza sarebbe più oppurtuno usare uno script apposito (tipo quello di federlest o che hai fatto tu) che una classe che racchiude tante funzioni inutili al tuo risultato.

    Forse stai cercando una libreria alternativa per manipolare le immagini che sia più efficiente e ottimizzata. Ti consiglio di dare un'occhiata qui, tuttavia tutte sembrano basarsi sempre su GD e non ho idea delle prestazioni che possono raggiungere.
    Un'alternativa più potente sarebbe ImageMagick.

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Ciao javascripter,
    una classe a livello di tempistica di elaborazione impiega un po' più di tempo rispetto un semplice script ma facendo dei test sul mio quad core risultava più veloce la classe di notalk rispetto il mio script ma dato che non faceva ciò che mi occorreva non mi è stata utile così ho deciso di perderci un po' più di tempo e di migliorare il mio script.

    Ho eliminato una decina di righe di codice e scritte delle nuove, ho usato un po' di photoshop sul watermark e adesso cambierò qualche funzione con delle nuove (sfruttando i vantaggi di PHP 5.3 che prima non avevo)...però quelle 25 righe di codice che attualmente utilizzo funzionano molto meglio di prima e spero che i test che farò siano tutti positivi.

    Comunque a titolo informativo vi dico che sono riuscito a trovare quella classe che cercavo: si chiama SmartImage e purtroppo non fa ciò che mi occorreva. Ricordavo io male.

    Chiedo scusa del tempo che vi ho fatto perdere.
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •