-2
J'ai donc un code qui affiche tous les fichiers d'un répertoire, les filigranes et les place dans un autre répertoire. Je veux savoir comment l'amener à l'eau marquer mes images avec du texte, j'ai essayé cela en utilisant imagettftext() mais pas de chance.Comment est-ce que je filigrane des images avec du texte?
Voici le code de travail
<?php
//Source folder where all images are placed
$source="myimages";
//Destination folder where all images with watermark will be copied
$destination="donewatermarks";
//Creating an image object of watermark image
$watermark=imagecreatefrompng("watermark.png");
//Margin of watermark from right and bottom of the main image
$margin_right=10;
$margin_bottom=10;
//Height ($sy) and Width ($sx) of watermark image
$sx=imagesx($watermark);
$sy=imagesy($watermark);
//Get list of images in source folder
$images=array_diff(scandir($source), array('..', '.'));
foreach($images as $image){
//Create image object of main image
$img=imagecreatefromjpeg($source.'/'.$image);
//Copying watermark image into the main image
imagecopy($img, $watermark, imagesx($img) - $sx - $margin_right,
imagesy($img) - $sy - $margin_bottom, 0, 0, $sx, $sy);
//Saving the merged image into the destination folder
imagejpeg($img, $destination.'/'.$image,100);
//Destroying the main image object
imagedestroy($img);
}
//Destroying watermark image object
imagedestroy($watermark);
?>
Merci à l'avance!
Voici le code que j'ai essayé qui retourne actuellement une erreur
<?php
//Source folder where all images are placed
$source="watermarkitems";
//Destination folder where all images with watermark will be copied
$destination="donewatermarks";
//Creating an image object of watermark image
$watermark=imagecreatefrompng("watermark.png");
//Margin of watermark from right and bottom of the main image
$margin_right=10;
$margin_bottom=10;
//Height ($sy) and Width ($sx) of watermark image
$sx=imagesx($watermark);
$sy=imagesy($watermark);
$text = 'Testing...';
//Get list of images in source folder
$images=array_diff(scandir($source), array('..', '.'));
foreach($images as $image){
//Create image object of main image
$img=imagecreatefromjpeg($source.'/'.$image);
// Add the text
imagettftext($img, 20, 0, 10, 20, $black, $font, $text);
//Saving the merged image into the destination folder
imagejpeg($img, $destination.'/'.$image,100);
header('Content-Type: image/jpg');
//Destroying the main image object
imagedestroy($img);
}
//Destroying watermark image object
imagedestroy($watermark);
?>
* Voici le code de travail * - Qu'en est-il de votre tentative qui a échoué? et quel est le problème? a traversé le manuel du tout? http://php.net/manual/en/function.imagettftext.php –
@ Fred-ii- Yeah ive été dans le manuel, si j'ajoute l'en-tête (Content-type: image/png); Je reçois un message d'erreur, et si je ne l'ajoute pas, les images se déplacent sans marquage à l'eau –
pouvez-vous poster le code essayé sous votre code d'origine et le message d'erreur exact aussi Dave? ceci dans votre question bien sûr ;-) Je ne suis pas sur mon PC de développement en ce moment, mais je vais y jeter un coup d'oeil quand j'y serai. Vous avez également reçu une réponse ci-dessous, avez-vous essayé? –