kostenloser Webspace werbefrei: lima-city


Bilder mit PHP zusammenfügen (Montieren)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.

    Hallo alle miteinander

    ihr kennt doch sicherlich diese schönen Webradios, die ihre Userbilder mit mehr oder weniger tollen Rahmen fazieren.
    Obwohl das spielerei ist, hätte ich ganz gerne so ein script bzw. würde es selbst gerne schreiben... ich weiß nur, dass man imagecreate braucht.... aber ich weiß net, wie man nun 2 oder mehr Bilder, die dann auch noch vom verschiedenen Formaten sind, zusammenfügt... weiß jemand, wie man sowas macht??? Google und Limasuche hab ich bereits benutzt... bei Lima gibts nix passendes und bei google findet man 10000 Verschiedene Möglichkeiten, die ich alle nicht so recht verstehe... bisher hab ich das immer mit Divs gemacht, aber dann kann man keinen Glanz auf die Bilder zaubern, weil viele browser PNG nicht richtig oder garnicht unterstützen...

    Gruß
    Technofan
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. o****c

    Hi technofan,
    solange ich das Problem richtig verstanden habe (im Prinzip: Zwei Bilder übereinanderlegen), ist die Lösung nicht so kompliziert.
    Die Funktion ist vielleicht nicht die professionellste, aber sie scheint ihre Aufgabe zu erfüllen...

    function addframetoimg($image_src, $border_src, $outputname = 'userbild mit rahmen drum herum.jpg') {

    $src1 = imagecreatefromjpeg($image_src); /* Das Bild, das den Rahmen bekommen soll */
    $src2 = imagecreatefrompng($border_src); /* Der Rahmen (PNG mit Alpha-Kanal) */

    $dest_x = 90; /* Breite des Ausgabebildes (als Int) */
    $dest_y = 130; /* Höhe des Ausgabebildes (als Int) */

    $src1_x = imagesx($src1); /* Breite des Bildes */
    $src1_y = imagesy($src1); /* Höhe des Bidles */
    $src2_x = imagesx($src2); /* Breite des Rahmens */
    $src2_y = imagesy($src2); /* Höhe des Rahmens */

    /*===Hier wird ein leeres Bild während der Scriptlaufzeit erstellt, das wir gleich befällen werden=*/
    /*=*/$destimg = imagecreatetruecolor($dest_x, $dest_y);
    /*=================================================================================================*/

    /*===Jetzt wird's spannend: Wir Kopieren die beiden Bilder (Hintergrund und Rahmen) nacheinander in das eben erstellte leere Bild=*/
    imagecopyresampled($destimg, $src1, 0, 0, 0, 0, $dest_x, $dest_y, $src1_x, $src1_y);
    imagecopyresampled($destimg, $src2, 0, 0, 0, 0, $dest_x, $dest_y, $src2_x, $src2_y);
    /*================================================================================================================================*/

    /* Hier wird das Ergebnis erstellt und als Datei gespeichert */
    imagejpeg($destimg, $outputname, 100);

    /* Zu guter Letzt lassen wir die Bearbeitungsfläche für unser Bild löschen, um Ressourcen wieder frei zu geben */
    imagedestroy($destimg);

    }

    Der Funktion werden die beiden Bilder übergeben (Hintergrund und Rahmen) und nachdem sie die Abmessungen rausgefunden hat, erstellt sie ein Bild und fügt die Bilder hintereinander ein. Danach wird abgespeichert und ich kann behaupten, dass ich diese Funktion gerade in 5min hingeklatscht habe (als PHP-Anfänger) und sie auf meinem System sehr gut funktioniert. Ok, wenn die Bilder unterschiedliche Größen haben, dürfte sie etwas daneben hauen, aber das Resizen ist ja auch nicht so schwer hin zu bekommen, das schaffst Du schon ;)
    Falls noch irgendwelche sind, sag ruhig bescheid, ich werde versuchen, mit meinem gesamten Wissen Unterstützung zu leisten.

    LG

    Beitrag geändert: 19.12.2008 17:25:29 von one-pc
  4. Autor dieses Themas

    technofan

    Moderator Kostenloser Webspace von technofan

    technofan hat kostenlosen Webspace.


    Falls noch irgendwelche sind, sag ruhig bescheid, ich werde versuchen, mit meinem gesamten Wissen Unterstützung zu leisten.


    Hola, das ging fix
    vielen vielen Dank ^^
    ja, das mit dem rezize ist kein Problem, das mach ich schon ewig. ^^
    Auf dein Angebot mit der Hilfe komme ich schon sehr bald zurück, aber dass du Anfänger bist glaub ich irgendwie nicht so ganz... wo hast du denn PHP gelernt?

    LG
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!