Я работаю над сценарием для нанесения водяных знаков на изображения, загруженные пользователями.Поскольку каждый пользователь хочет, чтобы на его изображении было его собственное имя, я решил сначала создать прозрачный PNG-файл с именем пользователя.После этого я использую простую технику водяных знаков для объединения PNG и загруженных файлов.
У меня работает скрипт, но он показывает мой текущий адрес каждый раз, когда создается PNG.
Это код на данный момент:
<?php
session_start();
$username = $_SESSION['login'];
$filename = "watermarks/$username.png";
if (file_exists($filename)) {
exit;
} elseif ($filename == "undefined") {
exit;
}else{
header("Content-type: image/png"); //Picture Format
header("Expires: Mon, 01 Jul 2003 00:00:00 GMT"); // Past date
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Consitnuously modified
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // NO CACHE
/*image generation code*/
//create Image of size 350px x 75px
$bg = imagecreatetruecolor(500, 100);
//This will make it transparent
imagesavealpha($bg, true);
$trans_colour = imagecolorallocatealpha($bg, 0, 0, 0, 127);
imagefill($bg, 0, 0, $trans_colour);
//Text to be written
$text = $username;
// White text
$white = imagecolorallocate($bg, 255, 255, 255);
// Grey Text
$grey = imagecolorallocate($bg, 128, 128, 128);
// Black Text
$black = imagecolorallocate($bg, 0,0,0);
$font = 'fonts/LiberationSans.ttf'; //path to font you want to use
$fontsize = 20; //size of font
//Writes text to the image using fonts using FreeType 2
imagettftext($bg, $fontsize, 0, 125, 50, $black, $font, $text);
imagettftext($bg, $fontsize, 0, 127, 52, $white, $font, $text);
//Create image
header( "Content-type: image/png" );
//imagepng($bg);
$save = $filename;
imagepng($bg, $save, 0, NULL);
//destroy image
imagedestroy($bg);
}
?>
Я уверен, что что-то пропустил, но не могу понять, что.
Моя вторая проблема заключается в том, что я не могу понять, какчтобы получить текст в центре и избавиться от пустого пространства вокруг текста.
Пожалуйста, загрузите изображение, чтобы понять, что я имею в виду.
Заранее спасибо за вашу помощь.