Guten Tag,
ich bin relativ neu in JS jedoch sehr Lern interessiert. Ich habe mit freunden ein Avatar Generator erstellt.
Jedoch möchten wir mehr als nur ein Bild wiedergeben bzw. anzeigen. Am besten fall wollen wir eine auswahl erstellen
womit man sich dann ein Bild aussuchen kann.
Jedoch weiß keiner von uns wie wir das erstellen müssen, um mehr bilder anzeigen zu lassen oder eine auswahl zu erstellen.
Hier ist mein Code
Und hier wird es ausgerufen bzw. angezeigt auf der Website:
ich bin relativ neu in JS jedoch sehr Lern interessiert. Ich habe mit freunden ein Avatar Generator erstellt.
Jedoch möchten wir mehr als nur ein Bild wiedergeben bzw. anzeigen. Am besten fall wollen wir eine auswahl erstellen
womit man sich dann ein Bild aussuchen kann.
Jedoch weiß keiner von uns wie wir das erstellen müssen, um mehr bilder anzeigen zu lassen oder eine auswahl zu erstellen.
Hier ist mein Code
PHP:
<?php
// Font
$fontname = 'font/OpenSans-Bold.ttf';
// Platz zwischen den Texten
$i = 30;
//JPG qualität 1-100
$quality = 90;
function create_image($user)
{
global $fontname;
global $quality;
$file = "covers/" . md5($user[0]['name'] . $user[1]['name'] . $user[2]['name']) . ".jpg";
// wenn datei exestiert -> ersetzten
//if (!file_exists($file)) {
// Main Avatar
$im = imagecreatefromjpeg("pass2.jpg");
// Farben
$color['grey'] = imagecolorallocate($im, 54, 56, 60);
$color['green'] = imagecolorallocate($im, 55, 189, 102);
$color['white'] = imagecolorallocate($im, 255, 255, 255);
$color['black'] = imagecolorallocate($im, 0, 0, 0);
$color['blau'] = imagecolorallocate($im, 29, 126, 182);
$y = imagesy($im) - $height - 25;
foreach ($user as $value) {
// Zentriert den Text
$x = center_text($value['name'], $value['font-size']);
imagettftext($im, $value['font-size'], 0, $x, $y + $i, $color[$value['color']], $fontname, $value['name']);
//32px Line-Height
//$i = $i + 32;
}
imagejpeg($im, $file, $quality);
return $file;
}
function center_text($string, $font_size)
{
global $fontname;
$image_width = 192;
$dimensions = imagettfbbox($font_size, 0, $fontname, $string);
return ceil(($image_width - $dimensions[4]) / 2);
}
$user = array(
array(
'name' => 'Nickname',
'font-size' => '16',
'color' => 'blau'
)
);
if (isset($_POST['submit'])) {
$error = array();
if (strlen($_POST['name']) == 0) {
$error[] = 'Nickname eingeben!';
}
if (count($error) == 0) {
$user = array(
array(
'name' => $_POST['name'],
'font-size' => '16',
'color' => 'blau'
)
);
}
}
$filename = create_image($user);
?>
Und hier wird es ausgerufen bzw. angezeigt auf der Website:
PHP:
<img class="avatar" src="<?= $filename; ?>?id=<?= rand(0, 1292938); ?>" width="192" height="192"/>
<ul>
<?php
if (isset($error)) {
foreach ($error as $errors) {
echo '<li>' . $errors . '</li>';
}
}
?>
</ul>
<center>
<div class="dynamic-form">
<form action="" method="post">
<h3>Gebe hier dein Nickname ein!</h3><br class="hide-mobile">
<input type="text" value="<?php
if (isset($_POST['name'])) {
echo $_POST['name'];
}
?>" name="name" maxlength="14" placeholder="Name"><br/><br/>
<input name="submit" type="submit" class="btn btn-primary" value="Avatar erstellen" />
</form>
</div>
</center>