kostenloser Webspace werbefrei: lima-city


3Ebenen - Bild mit php

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Hi
    ich möchte mit php ein Bild erstellen und zwar aus einer bestehenden Bilddatei. Das bild soll in ein 100x100 px großes Quadrat plaziert werden. Das Quadrat soll einen grauen 1px breiten Rand haben und der Hintergrund soll weiß sein (der des bildes ist zt transparent).

    Ich weiss wie ich mit php ein Bild ausgebe (header content image/png) und auch wie ich ein bild lade und in seiner Größe scaliere. Aber wie kann ich es jetzt in diesen Kasten machen?

    Wenn mir jemand helfen, oder weiss wo ich was zu dieser thematik finden kann wäre ich sehr dankbar.
    MFG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. m******************r

    Hallo!

    //Bilder erstellen
    $newImg = imagecreatetruecolor(102, 102);
    $oldImg = imagecreatefromjpeg("Pfad zum Bild");
    
    //Bild mit grauem Hintergrund füllen
    imagefill($newImg, 0, 0, imagecolorallocate(127, 127, 127));
    
    //weißes Rechteck um ein Pixel hinversetzt zeichen
    imagefilledrect($newImg, 1, 1,  100, 100, imagecolorallocate($newImg, 255, 255, 255));
    
    //Original-Bild verkleinern und in die Mitte des neuen Bildes kopieren
    imagecopyresized($newImg, $oldImg, 1, 1, 0, 0, 100, 100, imagesx($oldImg), imagesy($oldImg));
    
    
    //Bild ausgeben
    header('Content-Type: image/jpeg');
    
    imagejpeg($newImg);


    So sollte das ganze vereinfacht funktionieren, habs allerdings nicht getestet!

    LG

    Beitrag zuletzt geändert: 5.9.2011 21:05:14 von markus-niederbrucker
  4. m******e

    Weitere Möglichkeit:
    2 Bilder ineinanderkopieren wie hier beschrieben.
  5. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Vielen Dank!

    @markus-niederbrucker:
    Dein Code ist im Prinziep in ordnung enthält aber aber 2 Fehler
    1 ) Die Funktion 'imagefilledrect' gibt es anscheinend nicht. Ich habe stattdessen 'imagefilledrectangle' verwendet, was genau das macht.
    2 ) Die Funktion 'imagecolorallocate' benötigt nicht nur die 3 Farbwerte, sondern auchnoch ein img also 'imagecolorallocate( $newImg, 255, 255, 255)'

    Vielen Dank auch für den Link, die Infos sind recht nützlich auch zum Experimentirene in verbindung mit den Beispielen auf HTML-World (http://www.html-world.de/program/phpex_6.php)


    Beitrag zuletzt geändert: 6.9.2011 14:22:05 von programtools
  6. m******************r

    programtools schrieb:
    Vielen Dank!

    @markus-niederbrucker:
    Dein Code ist im Prinziep in ordnung enthält aber aber 2 Fehler
    1 ) Die Funktion 'imagefilledrect' gibt es anscheinend nicht. Ich habe stattdessen 'imagefilledrectangle' verwendet, was genau das macht.
    2 ) Die Funktion 'imagecolorallocate' benötigt nicht nur die 3 Farbwerte, sondern auchnoch ein img also 'imagecolorallocate( $newImg, 255, 255, 255)'

    Vielen Dank auch für den Link, die Infos sind recht nützlich auch zum Experimentirene in verbindung mit den Beispielen auf HTML-World (http://www.html-world.de/program/phpex_6.php)


    Korrekt, ja, schlampigkeitsfehler ;-)
  7. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Und gleich noch einen Fehler gefunden. Dachte erst ich hätte falsch berechnet bis es mir endlich auffiel.

    In der Funktion 'imagecopyresized' kommt erst der width-wert und dann der height-wert also $w, $h nicht $h, $w :)

    MFG
  8. 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!