Ich mache Avatare mit PHP GD. Zwischen den Füßen des Avatars und dem unteren Rand des Bildes ist lästiger Platz. Ich möchte diesen Raum möglicherweise durch "Schieben" des Avatars nach unten beseitigen (siehe unten).Verschieben eines Bildes nach unten
Hier ist das Original-Bild, das Ich mag es nicht, neben dem Bild, das ich zu bekommen:
Gibt es eine Methode, um das? Vielen Dank. Unten ist der Hauptteil des Codes, der für die Bilderzeugung verwendet wird.
$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);
}
Hinweis: Der if($_GET['x']) {
Teil dieses Codes ist mir zu erlauben, verschiedene Größen des Avatars an Ort und Stelle zu erzeugen. Es funktioniert gut.
Es ist schwierig, Ihre Frage zu verstehen, aber warum die canvass Höhe von auf Pixel nicht reduzieren? –
Aktualisiert w/Bilder und bessere Erklärung. Ich bin schrecklich darin, Dinge zu erklären. Es tut uns leid. :( – Anonymous
@BenD Ich kann die Größe des Bildes nicht ändern, und das ist aufgrund der Tatsache, dass der Benutzer eine Reihe von Schuhen oder etwas hinzufügen kann, die diesen Raum verbrauchen würde. – Anonymous