kostenloser Webspace werbefrei: lima-city


Bild-"Hintergrund" wiederholen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    ich hab bei php.net und hier schon rumgesucht aber nichts gefunden (vielleicht bin ich auch blind).
    Was ich brauche, ist am besten eine Funktion, die z.B. ein 1x40 px grosses Bild kopiert und dann wiederholt (zusammensetzt), sodass z.B. das bild 100x40 px gross ist (wie bei css mit background-repeat: repeat;, das ist zwar ein dummes bsp., aber ich hoffe es ist so verst?ndlich).

    Hoffentlich versteh ihr, was ich meine, sonst sagt mir ruhig bescheid.
    W?rde mich auf Hilfe freuen.

    mfg,
    hr
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    genau so was hab ich letztens gecodet...
    Allerdings f?gt mir mein Script auch noch Text hinzu...

    Ich poste dir mal den Code:

    $fontsize = 6;                      //Die Schriftgr??e (Pixel)
    $schriftart = "fonts/hooge.ttf";    //Pfad zur Schriftart
    $bildhoehe = 40;                    //Die H?he des Hintergrunds (Pixel)
    $orginalhoehe = 40;                 //Die H?he des Orginalbildes (Pixel)
    $orginalbreite = 1;                 //Die Breite des Orginalbildes (Pixel)
    $winkel = 0;                        //Winkel f?r Schr?gtext (?)
    $seitenabstand = 8;                //Abstand vom Text zur Seite (Pixel)
    $titel = "$_GET[name]";             //Text, der in das Bild geschrieben werden soll.
    
    $textwerte = imagettfbbox($fontsize, $winkel, $schriftart, $titel); //Auslesen der Eckdaten des Textes
    
    $textwerte[1] = abs($textwerte[1]);      //Berechnung
    $textwerte[5] = abs($textwerte[5]);      //der H?he des Textes.
    $hoehe = $textwerte[5]- $textwerte[1];   //Dies dient
    $abstandoben = $bildhoehe - $hoehe;      //zur vertikalen
    $abstandoben = $abstandoben / 2;         //Zentrierung!
    $abstandoben = $abstandoben + $hoehe;    //Die Schriftgr??e wird oben angegeben!
    
    
    $breitea = $textwerte[4]- $textwerte[0]; //Berechnung der horizontalen Breite.
    $breiteb = $seitenabstand * 2;           //Dies dient unter Ber?cksichtigung des
    $breite = $breitea + $breiteb;           //gew?nschten Seitenabstandes zur horizontalen Zentrierung.
    
    $image = imagecreatefrompng("menue.png");
    $image1 = imagecreate($breite,$bildhoehe);
    imagecopyresized($image1,$image,0,0,0,0,$breite,$bildhoehe,$orginalbreite,$orginalhoehe);
    $font_c = imagecolorallocate($image1,255,255,255);
    imagettftext ($image1,$fontsize,$winkel,$seitenabstand,$abstandoben,$font_c,$schriftart,$titel);
    
    header("Content-type: image/png");
    imagepng($image1);


    Vieleicht hilfts dir was...
  4. b*************k

    Du schreibst doch mit PHP HTML-Code... also kannst du doch ruhig den entsprechenden HTML-Code benutzen. In SelfHTML und SelfPHP steht, wie es geht. ^^

    Es kommt halt drauf an, ob es ein Tabellenhintergrund sein soll, oder die gesamte Page...

    Edit: Da war jemand schneller ^^?

    Beitrag ge?ndert am 14.02.2006 22:40 von bluedragonebook
  5. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    schonmal Danke.
    Ich dachte, dass man mit imagecopyresized nur ein Bild verzerren kann, oder bin ich da falsch?
    Ich m?chte das bild ja wiederholen und nicht verzerren.

    mfg,
    hr
  6. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Einfache Rechnung:
    Wenn ein Bild 1px breit ist, und dus "zerrst" wirds dann nicht widerholt?

    Du kannst das Resultat hier bestaunen:
    http://www.gimp4u.de

    Die Buttons unten sind "gezerrt"...
  7. b*************k

    *lach*

    bei einem Pixel Breite wirds immer wiederholt ^^

    Hmmm, aber bei 2 Pixel oder mehr Breite geht das nat?rlich nicht. Da solltest du nach einer anderen L?sung suchen. ^^

    Ich habe gerade mal SelfPHP durchforstet, aber ich denke, da hilft echt nur die Ausgabe von HTML-Code...

    Beitrag ge?ndert am 14.02.2006 22:49 von bluedragonebook
  8. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    aber wenn das Bild z.B. vertikale Linien hat, dann werden die doch breiter und das sollte ja nicht passieren.
    Hab ich da jetzt was falsch verstanden?

    mfg,
    hr
  9. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Na ja, mein Script kannst auch nur f?r Hintergr?nde verwenden, die immer horizontal wiederholt werden sollen und 1px breit sind...
    F?r vertikale Hintergr?nde sieht das ganze dann wieder komplett anders aus.
  10. Autor dieses Themas

    heavyraptor

    heavyraptor hat kostenlosen Webspace.

    Hi,

    aber wie kann ich das dann mit Bildern machen, die breiter als 1px sind?
    Gibt es daf?r ?berhaupt funktionionen?

    mfg,
    hr
  11. 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!