2011-04-17 3 views
2

J'ai un problème avec la position de filigrane que je veux régler la position de centre-gauche, Comment puis-je configurer dynamiquement ici la fonction de filigranePosition Watermark Problème

function ($location) { 
    $watermark = imagecreatefromgif("wm.gif"); 
    $watermark_width = imagesx($watermark); 
    $watermark_height = imagesy($watermark); 
    $image = imagecreatetruecolor($watermark_width, $watermark_height); 
    $image = imagecreatefromjpeg($location); 
    $size = getimagesize($location); 
    $pos_x = $size[0] - $watermark_width - 690; 
    $pos_y = $size[1] - $watermark_height - 250; 
    imagecopymerge($image, $watermark, $pos_x, $pos_y, 0, 0, $watermark_width, $watermark_height, 100); 
    imagejpeg($image, $location); 
    imagedestroy($image); 
    imagedestroy($watermark); 
} 
+0

Quand vous dites centre-gauche - à quelle distance gauche, plein? Quels sont les deux nombres absolus à l'aide de? – Orbling

+0

@Orbling oui complètement à gauche et au centre – Chris

+0

@Orbling comprendre? – Chris

Répondre

1

Si vous voulez complètement à gauche et centré verticalement, alors vous devez changer les deux calculs de position.

$pos_x = 0; 
$pos_y = intval(($size[1]/2) - ($watermark_height/2)); 

Vous trouver à mi-chemin sur l'image source, enlevez la moitié de la hauteur du filigrane, et que vous donnerons haut de l'emplacement du filigrane.

Notez que cela ne convient pas pour un cas où le filigrane est plus grand que l'image source.