Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Watermark Dinamico problema
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • I
      ivan88 Moderatore • 24 giu 2011, 15:05 ultima modifica di

      Watermark Dinamico problema

      Salve a tutti,
      vorrei aggiungere il watermark automatico a tutte le foto sul mio sito.
      Ci sono tanti script su internet tra cui questo:
      http://www.nicolopignatelli.com/2009/02/watermark-sulle-nostre-immagini-con-php-e-gd/

      Il mio problema sta nel fatto che non ho le immagini in una sola cartella, come bisognerebbe impostare per lo script, ma in tante cartelle diverse!
      Spostare tutte le foto in una cartella è impossibile, sia per il lavoraccio sia perchè mi è più comodo avere più cartelle.

      Come posso risolvere il mio problema?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
        Caricamento altri post
        Rispondi
        • Topic risposta
        Effettua l'accesso per rispondere
        • Da Vecchi a Nuovi
        • Da Nuovi a Vecchi
        • Più Voti
         

      • G
        giovandres90 User • 26 giu 2011, 01:27 ultima modifica di

        ciao è semplice, ti fai uno script dove indichi tutte le cartelle che contengono le immagini, pero ti consiglio una cosa, non prendere cose gia fatte perche ti complichi la vita, l'unica cosa che devi fare è sovrapporre una immagine png con il tuo logo all'imagine e questo lo puoi fare con la libreria gd

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • marcocarrieri
          marcocarrieri ModSenior • 26 giu 2011, 09:53 ultima modifica di

          Non mi sono mai trovato in questa esigenza...
          E via CSS?
          Una sorta di background sopra di un livello?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • G
            giovandres90 User • 26 giu 2011, 14:36 ultima modifica di

            no in quel modo non si puo fare, basta guardare il codice html e prendere l'immagine!

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • marcocarrieri
              marcocarrieri ModSenior • 26 giu 2011, 14:52 ultima modifica di

              Vero! 🙂

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • I
                ivan88 Moderatore • 26 giu 2011, 17:01 ultima modifica di

                Ho le librerie gid installate non è un problema.
                Come codice pensi a qualcosa semplice del genere:
                [PHP] $img = WideImage::load('pic.jpg'); $watermark = WideImage::load('logo.jpg'); $new = $img->merge($watermark, 10, 10, 30); [/PHP]

                Però vorrei che il watermark se possibile fosse mostrato solo a video, non impresso sulle immagini, perchè volevo tenerle anche senza. Al massimo faccio una copia così risolvo il problema.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • G
                  giovandres90 User • 26 giu 2011, 19:02 ultima modifica di

                  no io avevo gia fatto una cosa del genere usando le seguenti funzioni:

                  [PHP]$size1 = getimagesize(url_dell'immagine_originale);
                  $size2 = getimagesize(url_dell'imagine_gif_da_sovrapporre);
                  $source = imagecreatefromjpeg(url_dell'immagine_originale);
                  $source2=imagecreatefromgif(url_dell'imagine_gif_da_sovrapporre);
                  imagecopy($source, $source2, 0,0,0,0,$size2[0],$size2[1]);
                  imagejpeg($source, url_di_destinazione , 75);[/PHP]

                  con questo crei l'immagine con il logo sovrapposto, lo devi inserire nello script per gestirti le cartelle dove ci sono l'immagini, poi comunque si, tu sul sito tieni solo la copia delle immagini magari pure piu piccola, adesso sta a te continuare!

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    tigrone User Attivo • 27 giu 2011, 22:19 ultima modifica di

                    @marcocarrieri said:

                    Una sorta di background sopra di un livello?
                    Uno un po' sgamato ti andrebbe a scovare l'immagine originale...
                    Watermark sempre impresso... in modo indelebile! 😉

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • B
                      bjt1098 User • 28 giu 2011, 17:38 ultima modifica di

                      innanzitutto io farei una sola cartella per le foto, poi le puoi suddividere (come già fai) in altre sottocartelle.

                      a mio avviso potresti (con l'aiuto di apache) reindirizzare le le richieste alle foto su uno script php che prende la foto richiesta e aggiunge il tuo logo (casomai se le salva in una cartelle è meglio così eviti elaborazioni inutili).
                      in questo modo puoi lavorare con le foto "pulite" ma visualizzare le foto "marchiate"...:o

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • G
                        giovandres90 User • 28 giu 2011, 17:43 ultima modifica di

                        Lui deve inserire il logo ogni volta che carica una immagine sul suo sito, ma questo lo fa in automatico php ogni volta che fa l'upload, per quelle che gia ha caricate basta uno piccolo script che modifica queste immagini.

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • I
                          ivan88 Moderatore • 2 lug 2011, 16:13 ultima modifica di

                          Ok, funziona perfettamente come suggerito da giovaandres90 (thks)

                          Mi è bastato inserire il codice in un ciclo foreach ed impostare le variabili necessarie perchè fosse applicato su tutte le foto che volevo. 😉

                          C'è un problema che però non avevo considerato. Le immagini non sono tutte precise della stessa dimensione, quindi il watermark appare un po' ovunque sulla foto! Visto nell' insieme è un po' disordinato.
                          Io lo volevo sempre centrato e poco sopra il fondo.

                          Devo trovare il modo di adattare le dimensioni dell' immagine prima di applicare il watermak.
                          Vi faccio sapere gli sviluppi, voi avete qualche idea?

                          :ciauz:

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • B
                            bjt1098 User • 3 lug 2011, 10:16 ultima modifica di

                            @Ivan88 said:

                            C'è un problema che però non avevo considerato. Le immagini non sono tutte precise della stessa dimensione, quindi il watermark appare un po' ovunque sulla foto! Visto nell' insieme è un po' disordinato.
                            Io lo volevo sempre centrato e poco sopra il fondo.

                            Devo trovare il modo di adattare le dimensioni dell' immagine prima di applicare il watermak.
                            Vi faccio sapere gli sviluppi, voi avete qualche idea?

                            :ciauz:

                            non ho capito bene il problema che hai.
                            in ogni caso dai un'occhiata a hXtp:// php. net/manual/en/ function.imagecopy.php
                            è la documentazione della funzione che usi per unire le due foto (imagecopy )
                            dovresti modificare i valori che attualmente sono sempre impostati a ZERO in base alle dimensioni dell'img originale che ahi nella variabile $size1

                            fai qualche prova con due o tre foto di che hanno una dimensione "critica" e una "strandard" quando trovi il giusto compromesso le modifichi tutte.

                            ciao...

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • I
                              ivan88 Moderatore • 11 lug 2011, 15:04 ultima modifica di

                              Ok, la soluzione sta nel proporzionare le coordinate di destinazione con le dimensioni dell' immagine iniziale, ovvero:
                              [PHP]
                              $new=$size1[0]-$size2[0];
                              $new2=$size1[1]-80;
                              If ($new<0) {
                              $new=-10;
                              } else {
                              $new=0;
                              }
                              imagecopy($source, $source2, $new,$new2,0,0,$size2[0],$size2[1]);
                              [/PHP]

                              I numeri sopra sono un esempio che si adatta al mio caso, ma il principio base dovrebbe valere sempre

                              Ciao :ciauz:

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              Caricamento altri post
                              Rispondi
                              • Topic risposta
                              Effettua l'accesso per rispondere
                              • Da Vecchi a Nuovi
                              • Da Nuovi a Vecchi
                              • Più Voti