• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zwei Grafiken übereinander legen

Status
Für weitere Antworten geschlossen.

Icy

Neues Mitglied
Hallo!

Ich bräuchte bei folgender Aufgabe Hilfe:

Ich würde gern eine Grafik über eine andere legen und die neu entstandene Grafik dann als ein Bild abspeichern können.
Wozu das Ganze? Für unseren Clan möchte ich gern eien Avatarschablone erstellen. Das heißt, ich habe so eine Art Rahmen (mit den Clandetails). Die Member können jetzt ihr Avatar hochladen und automatisch das Bild mit der Schablone ausgegeben bekommen (wie bspw. hier).

Jetzt bräuchte ich dazu die passenden Befehle. Ich hab mich bereits ein wenig umgeschaut und bspw. Folgendes gefunden:

imagecreatefromgif()
imagecopy()
imagegif()

Kann damit aber nicht so viel anfangen bzw. verstehe ich nicht, wie ich die Befehle verknüpfen soll.

Vielleicht könnt ihr mir ja ein wenig auf die Sprünge helfen :)

MfG Icy
 
PHP:
//du lädst dein image das hochgeladen wurde
$img = imageCreateFromJpeg('./bild.jpg');
//nun lädst du das bild was darüber gelegt werden soll
$ov = imageCreateFromJpeg('./ov.jpg');
// und nun kopierst du das bild $ov auf das original
imageCopyResized($ov, $img, ....);
// und dann speicherst du das alles neu
imageJpeg($img, './neues_bild.jpg', 100);
 
Zuletzt bearbeitet von einem Moderator:
Hey, danke für die Hilfe. Habs direkt mal ausprobiert (nur mit PNG):

PHP:
<?php

$width = "284px";
$height = "377px";

//du lädst dein image das hochgeladen wurde
$img = imageCreateFromJpeg('bild.jpg');

//nun lädst du das bild was darüber gelegt werden soll
$ov = imageCreateFrompng('schablone.png');

// und nun kopierst du das bild $ov auf das original
imageCopyResampled($ov, $img, 0, 0, 0, 0, $width, $height, $width, $height);

// und dann speicherst du das alles neu
imageJpeg($img, 'new.jpg', 100); 

?>

Das Problem ist nur, dass das neue Bild "new.jpg" einfach die Ursprungsgrafik "bild.jpg" ist. Es wird keine Fehlermeldung angezeigt.
Ich glaube ich hab mich irgendwo bei den Parametern für imageCopyResampled vertan :/

MfG Icy
 
kann man so einfach png und jpg mischen.
probier mal, nur zum schauen, die images zu vertauschen :
PHP:
imageCopyResampled($img, $ov, ...
sonst alles gleich lassen.
 
wieso schreibst du $width = "...px"; ? was hat das px da zu suchen? :-D

richtig währe

$width = 123;

also als integer
 
Ich habs vor längerem mal so gemacht.
PHP:
header("Content-type: image/png")

$bild = imagecreatefrompng("bild.png");
$background = imagecolorallocate($bild, 0, 255, 255);
$fontcolor = imagecolorallocate($bild, 255, 255, 255);

// Hier kannst du natürlich auch imagecreatefrompng benutzen.
$wasserzeichen = imagecreatefromgif('status.gif');

imagestring($bild, 2, 20,20, "Status: ", $fontcolor);
imagecopy($bild, $wasserzeichen, 65, 19, 0, 0, 18, 18);

imagepng($bild);
imagedestroy($bild);

Funktioniert einwandfrei.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben