• User Attivo

    waterMark

    Ciao Ragazzi, vedevo questo script qui nel forum
    e mi chiedevo come passare il logo da sinistra a destra e da sopra a sotto, sarestie cosi gentili ad aiutarmi?
    Grazie anticipatamente.

    <?php
    function waterMark($fileInHD, $wmFile, $transparency = 50, $jpegQuality = 90, $margin = 5) {

    $wmImg = imageCreateFromGIF($wmFile);
    $jpegImg = imageCreateFromJPEG($fileInHD);

    // Water mark in posiszione random
    $wmX = (bool)rand(0,1) ? $margin : (imageSX($jpegImg) - imageSX($wmImg)) - $margin;
    $wmY = (bool)rand(0,1) ? $margin : (imageSY($jpegImg) - imageSY($wmImg)) - $margin;

    // Water mark process
    imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), $transparency);

    // Overwriting dell'immagine
    ImageJPEG($jpegImg, $fileInHD, $jpegQuality);
    }

    waterMark('myImage.jpg','waterMark.gif');

    ?>


  • User Attivo

    Ciao colvi,
    non sono sicuro di aver capito bene la domanda... :bho:

    $wmX e $wmY sono le posizioni sull'immagine finale in cui verrà poszionato il watermark.

    La scrittura
    $wmX = (bool)rand(0,1) ? $margin : (imageSX($jpegImg) - imageSX($wmImg)) - $margin;

    ti dice che al 50% ((bool)rand(0,1)) il watermark verrà posizonato a 50 px da sinistra ($margin) o a 50 pixel da destra ((imageSX($jpegImg) - imageSX($wmImg)) - $margin)

    Analogo discorso vale per la posizione verticale...

    Quindi ogni volta che fai girare lo script il watermark verrà messo casualmente in uno dei 4 vertici.

    Se lo vuoi in basso a destra basta scrivere:

    $wmX = (imageSX($jpegImg) - imageSX($wmImg)) - $margin;
    $wmY = (imageSY($jpegImg) - imageSY($wmImg)) - $margin;

    al posto di quelle analoghe.

    Se vuoi qualche altra cosa, spiegaci meglio!
    :ciauz:


  • User Attivo

    @ceccus said:

    Ciao colvi,
    non sono sicuro di aver capito bene la domanda... :bho:

    $wmX e $wmY sono le posizioni sull'immagine finale in cui verrà poszionato il watermark.

    La scrittura
    $wmX = (bool)rand(0,1) ? $margin : (imageSX($jpegImg) - imageSX($wmImg)) - $margin;

    ti dice che al 50% ((bool)rand(0,1)) il watermark verrà posizonato a 50 px da sinistra ($margin) o a 50 pixel da destra ((imageSX($jpegImg) - imageSX($wmImg)) - $margin)

    Analogo discorso vale per la posizione verticale...

    Quindi ogni volta che fai girare lo script il watermark verrà messo casualmente in uno dei 4 vertici.

    Se lo vuoi in basso a destra basta scrivere:

    $wmX = (imageSX($jpegImg) - imageSX($wmImg)) - $margin;
    $wmY = (imageSY($jpegImg) - imageSY($wmImg)) - $margin;

    al posto di quelle analoghe.

    Se vuoi qualche altra cosa, spiegaci meglio!
    :ciauz:
    Grazie!!! e se invece lo volessi in alto a destra come dovrei modificare la stringa?
    Grazie anticipatamente.


  • User Attivo

    $wmX = (imageSX($jpegImg) - imageSX($wmImg)) - $margin;
    **$wmY = $margin;

    Se ne studi la logica poi puoi metterlo dove vuoi!
    :ciauz:
    **


  • User Attivo

    Grazie!!!! :fumato:


  • User Attivo

    Io ho porvato quello script ma non funziona, non mi stampa nulla come posso fare??