Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Froschkoenig84
Threadersteller
Dabei seit: 21.02.2007
Ort: München
Alter: 40
Geschlecht:
|
Verfasst Mo 05.05.2008 15:36
Titel [PHP] Captcha-Script mit imagecopymerge() |
|
|
Ich will also zwei Grafiken erst deckungsgleich übereinander legen
und dann zu einer Grafik verschmelzen.
[img]http://froschkoenig84.bplaced.net/TRYOUT/CAPTCHA/G1/background.img.php[/img]
background.img.php
[img]http://froschkoenig84.bplaced.net/TRYOUT/CAPTCHA/G1/foreground.img.php[/img]
foreground.img.php
Diese besitzen beide einen weißen Hintergrund, könnte ich aber auch transparent erstellen.
Beide Grafiken sollen nun übereinandergelegt verschmolzen werden. (In PS würde man das "merge" oder "flatten" nennen.) - Die frage ist nun, wie verschmelze ich zwei übereinandergelegte Grafiken via PHP?
Code: | header("Content-type: image/png");
$background = imagecreatefrompng("background.img.php");
$foreground = imagecreatefrompng("foreground.img.php");
imagecolortransparent($foreground,imagecolorallocate($foreground,255,255,255));
imagecopymerge($background,$foreground,0,0,0,0,150,50,100);
imagedestroy($foreground);
imagepng($background); |
Laut MANUAL würde man dafür imagecopy() oder noch besser imagecopymerge() nutzen, aber bei mir funktioniert da leider überhaupt nichts. - Was mach ich falsch? - Wer eine eine Idee/Lösung?
___
auf bald, ...
***der Frosch (nap-star)
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 05.05.2008 20:45
Titel
|
|
|
vllt beglückst uns ja mit ner fehlermeldung oder irgendwie sowas?
|
|
|
|
|
Anzeige
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Mo 05.05.2008 21:21
Titel
|
|
|
Zitat: | zwei Grafiken erst deckungsgleich übereinander legen
und dann zu einer Grafik verschmelzen. |
Ja, das funktioniert mit PHP.
Natürlich nur, wenn die GD-Library installiert ist.
Das habe ich auch öfters gemacht, um Bilder automatisch mit einem Wasserzeichen zu versehen.
Zitat: | aber bei mir funktioniert da leider überhaupt nichts |
Was bedeutet funktioniert nicht?
gibt es eine Fehlermeldung? Wenn ja, welche?
Zitat: | Was mach ich falsch? |
Du gibst uns zuwenig brauchbare Informationen.
Zitat: | Wer eine eine Idee/Lösung? |
Fehlermeldung posten.
Ist das oben gepostete eigentklich dein kompletter Code? Ich kann weder das öffnende noch das schließende PHP-Tag sehen. Eventuell hast du vielleicht eine Leerzeile davor, so daß diese zum Client geschickt wird, bevor du header() aufrufst? Wäre aber nur so ein Rateversuch... Ohne mehr Information kann man dir nicht helfen.
|
|
|
|
|
Froschkoenig84
Threadersteller
Dabei seit: 21.02.2007
Ort: München
Alter: 40
Geschlecht:
|
Verfasst Di 06.05.2008 08:12
Titel
|
|
|
Natürlich habe ich die GD, genauer die GD2 (Standardinstallation: PHP 5.2.6).
Eine Fehlermeldung gibt es nicht, er gibt lediglich den Dateinamen aus, ... wobei, ich habe es gerade mal auf meinen Webserver hochgeladen, da kommt eine Fehlermeldung:
Zitat: | Die Grafik "http://froschkoenig84.bplaced.net/TRYOUT/CAPTCHA/G1/captcha.img.php" kann nicht angezeigt werden, weil sie Fehler enthält. |
Ja, es fängt natürlich mit der PHP-Einleitung an, habe nur ein SnipSnap gepostet, weil ich dachte das würde reichen.
Da ich erstmal nur am "Probieren" bin, ist die Datei bislang nur wenig dynamisch, modular, bzw. im INCs oder Funktionen unterteilt. - Hier folgt also nochmal der gesamte Code, wobei ich ich ja eigentlich bereits alles gepostet hatte:
Code: | <?php
header("Content-type: image/png");
$background = imagecreatefrompng("background.img.php");
$foreground = imagecreatefrompng("foreground.img.php");
imagecolortransparent($foreground,imagecolorallocate($foreground,255,255,255));
imagecopymerge($background,$foreground,0,0,0,0,150,50,100);
imagedestroy($foreground);
imagepng($background);
?> |
Ich möchte nur mal ein funktierendes Beispiel sehen, wie das mit dem Übereinanderlegen und Verschmelzen funktioniert. - Auch die Beispiele (USER-Kommentare) aus dem MANUAL funktionieren bei mir nur selten oder entsprechend fehlerhaft.
Wie hast du das mit dem Wasserzeichen denn gemacht? - Im Grunde ist es ja genau, was ich will, nur eben nicht im Alpha-Modus.
___
auf bald, ...
***der Frosch (nap-star)
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Di 06.05.2008 09:59
Titel
|
|
|
Zitat: | Wie hast du das mit dem Wasserzeichen denn gemacht? - Im Grunde ist es ja genau, was ich will, nur eben nicht im Alpha-Modus. |
mit imagecopyresampled(). ich such das script nachher mal raus und schick es dir.
|
|
|
|
|
Snifferdog
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Di 06.05.2008 10:19
Titel
|
|
|
Hallo,
ich fand bei Googel folgendes Script ... es ist auch dazu da ein Logo über ein anderes Bild zu legen,
aber wie du schon gesagt hast vom Prinzip her ist es ja sehr gleich ...
Was soweit ich das richtig verstanden habe wohl wichtig ist, ist dass beide Bilder den gleichen Bit-Wert haben.
vll kannst du damit ja was anfangen
Code: |
// Originalbild einlesen
$img = imagecreatefrompng('originalbild.png');
// Logo-Bild (24Bit + Alpha-Channel) einlesen
$logo_img = imagecreatefrompng('logo.png');
// Logo in untere rechte Ecke kopieren
imagecopy($img, $logo_img,
(imagesx($img)-imagesx($logo_img))-5,
(imagesy($img)-imagesy($logo_img))-5,
0, 0, imagesx($logo_img), imagesy($logo_img));
// Bild als JPEG mit Qualität 75 speichern
imagejpeg($img, 'zielbild.jpg', 75);
|
Quelle: http://xhtmlforum.de/37072-php-2-bilder-berlagern-mit-gd.html
Gruß
Zuletzt bearbeitet von Snifferdog am Di 06.05.2008 10:20, insgesamt 2-mal bearbeitet
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 06.05.2008 13:45
Titel
|
|
|
Froschkoenig84 hat geschrieben: | Eine Fehlermeldung gibt es nicht, er gibt lediglich den Dateinamen aus, ... wobei, ich habe es gerade mal auf meinen Webserver hochgeladen, da kommt eine Fehlermeldung:
Zitat: | Die Grafik "http://froschkoenig84.bplaced.net/TRYOUT/CAPTCHA/G1/captcha.img.php" kann nicht angezeigt werden, weil sie Fehler enthält. |
|
dann magste vllt mal den header für den Content-Type weglassen?
Dann siehste auch mal ne Fehlermeldung .. oder eben du wirfst
nen Blick in die Quellcode.
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Di 06.05.2008 13:56
Titel
|
|
|
kann es sein, dass es vllcht noch im cmyk modus is das bild ?
also ich kenn die bilder von cmyk bildern im browser.
hab mich jetz noch nicht gdlib beschäftigt, darum kann ich nich viel dazu sagen.
aber könnte ja sein, wenn das originalbild diesen modus hat.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Ein Captcha Problem
Captcha in einer Art Lightbox
Reload eines Captcha?
Captcha für eine webmailer.cgi
CGI-Gästebuch Spamschutz - Captcha
[TYPO3][ve_guestbook+sr_freecap] kein captcha im formular
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|