Tworzę awatary z PHP GD. Denerwująca przestrzeń między nogami awatara i dnem obrazu. Chcę ewentualnie pozbyć się tej przestrzeni, "popychając" awatar w dół (patrz poniżej).Przenoszenie obrazu na dno
Oto oryginalny obraz, że nie lubię, obok obrazu chcę uzyskać:
Czy istnieje sposób na to? Dzięki. Poniżej znajduje się główna część kodu używanego do generowania obrazu.
$assets = array(
"../assets/shirt/Default.png",
"../assets/body/Default.png",
"../assets/hair/Default.png",
"../assets/eyes/Default.png",
"../assets/eyebrows/Default.png",
"../assets/mouth/Default.png",
"../assets/pants/Default.png"
);
$baseImage = imagecreatefrompng($assets[0]);
imagealphablending($baseImage, true);
imagesavealpha($baseImage, true);
foreach($assets as $item) {
$newImage = imagecreatefrompng($item);
imagecopy($baseImage, $newImage, 0, 0, 0, 0, 350, 550);
imagealphablending($baseImage, true);
imagesavealpha($baseImage, true);
}
if($_GET['x']) {
$sizex = $_GET['x']; if($sizex > 350) $sizex = 350;
$sizey = $_GET['y']; if($sizey > 550) $sizey = 550;
$png = imagecreatetruecolor($sizex, $sizey);
imagesavealpha($png, true);
$trans_colour = imagecolorallocatealpha($png, 0, 0, 0, 127);
imagefill($png, 0, 0, $trans_colour);
$blankImage = $png;
imagealphablending($blankImage, true);
imagesavealpha($blankImage, true);
imagecopyresampled($blankImage, $baseImage, 0, 0, 0, 0, $sizex, $sizey, 350, 550);
header("Content-type: image/png");
imagepng($blankImage);
}
else {
header("Content-type: image/png");
imagepng($baseImage);
}
Uwaga: if($_GET['x']) {
część tego kodu jest umożliwienie mi generować różne rozmiary awatara na miejscu. To działa dobrze.
Trudno zrozumieć pytanie, ale dlaczego nie zmniejszyć wysokość płótna przez na piksel? –
Zaktualizowano w/zdjęcia i lepsze wyjaśnienie. Jestem okropny w wyjaśnianiu rzeczy. Przepraszam. :( – Anonymous
@BenD Nie mogę zmienić rozmiaru obrazu, a to dlatego, że użytkownik może dodać zestaw butów lub coś, co mogłoby wykorzystać to miejsce. – Anonymous