generierten Button einen Namen geben?

ultrasonic

Erfahrenes Mitglied
Hallo zusammen,

schreibe gerade an einem Buttongenerator.

Nur habe ich ein Problem

wie kann ich erreichen das die generirten Button einen Namen kriegen.
Also z.b. ich gebe dem Button als Text "Hauptmenu" und beim abspeichern
erhält er dem Abspeichernamen=Hauptmenu.

hier der Code(Button2.php):
PHP:
<?php Header( "Content-type: image/gif");  // Header senden

if (($font == "") || ($font > 5) || ($font < 1)) { $font = 5; }
if ($text == "") { $text="Moin!"; }   // Text für den Button
if ($textcolor == "") {               // Farbe des Textes
   switch ($button) {
     case "yellow":
     case "white":
       $textcolor = "black";
       break;
     default:
       if ($button == "") { $button = "lila"; }
       $textcolor = "white";
       break;
   }
} // textcolor end

$im_info = getimagesize("$button.gif"); // button göße
if ($width == "") {
   if ($im_info == "") {
     $buttonwidth =200;
   } else {
     $buttonwidth = "$im_info[0]";
   }
} else {
  $buttonwidth = $width;
}
if ($heigth == "") {
   if ($im_info == "") {
     $buttonheigth = 10;
   } else {
     $buttonheigth = "$im_info[1]";
   }
} else {
  $buttonheigth = $heigth;
}
$vmidth = ceil($buttonheigth / 2);

// ========================================[Farben  ]===

$white = "255,255,255";
$black = "0,0,0";
$blue  = "0x2c,0c6d,0xaf";

// ==================================================[ Erzeuge einen Farben Array]===

$textcolor_array = explode(",", $$textcolor);

// Kalkuliere die Position des Textes

do {
   $textwidth = strlen($text) * imagefontwidth($font);
   $x = ($buttonwidth - $textwidth) / 2; $x = ceil($x);
   $y = $vmidth - (imagefontheight($font) / 2);
   $y =$y+0.2;
   $font--;
} while (($x < 0) && ($font > 0)); $font++;

// Buttongenerieren

if (isset($width) || isset($heigth)) {            // Größe ändern
   $ima = imagecreatefromgif("$button.gif");       // Öffnen des Gifs
   $im  = imagecreate($buttonwidth,$buttonheigth); // Das Bild in die angegebene göße ändern
   $uglybg = ImageColorAllocate($im,0xf4,0xb2,0xe5);
   ImageRectangle($im,0,0,$buttonwidth,$buttonheigth,$uglybg);
   $dummy = imagecopyresized($im,$ima,0,0,0,0,$buttonwidth,$buttonheigth,$im_info[0],$im_info[1]);
   if ($dummy == "") {
     ImageDestroy($im);  // und wenn das nicht vorgegeben wird zerstören
   } else {;}
   ImageDestroy($ima);
   ImageColorTransparent($im,$uglybg);
} else {
   $im = imagecreatefromgif("$button.gif");        // Öffnen des Gif´s
}
if ($im == "") {  $im = imagecreate($buttonwidth,$buttonheigth); // if input gif not found,
  $rblue = ImageColorAllocate($im, 0x2c,0x6D,0xAF);// Erzeuge einen Fläsche
  ImageRectangle($im,0,0,200,100,$rblue);
}
$color = ImageColorAllocate($im, $textcolor_array[0], $textcolor_array[1], $textcolor_array[2]); // Bestimme die Farben
imagestring($im, $font, $x, $y, "$text", $color); // füge den Tect ein
Imagegif($im);                                    // Sende den button an den browser
ImageDestroy($im);                                // MAche den Speicher wieder frei
?>

hier das Eingabeformular(Buttongen.php):
PHP:
<?
require('../config.inc');
include('../head_nav.php');
if($submit){

echo"<center><br><br><br><img src=\"button2.php?button=$button1&width=$b&heigth=$h&text=$t&font=$f\">";
echo"<br><br><br><img src=\"button2.php?button=$button2&width=$b&heigth=$h&text=$t&font=$f\"><br><br><hr>";
}?>
<br>
<br>
<center>
<h2>Buttongenerator für das Hauptmenu</h2>
<form method="post" action="<? echo $PHP_SELF ?>">
<table border=0>
<tr>
<td><?=$font;?>Button1:</td><td> <input type="text" name="button1" value="Button_2a_blanko"></td><td><?=$font;?>Orginal: <img src=Button_2a_blanko.gif></td>
</tr>
<tr>
<td><?=$font;?>Button2:</td><td><input type="text" name="button2" value="Button_2b_blanko"></td><td><?=$font;?>Orginal: <img src=Button_2b_blanko.gif></td>
</tr>
<tr>
<td><?=$font;?>Text: </td><td><?=$font;?><input type="text" name="t"  value=""> </td></td><td>
</tr>
<tr>
<td><?=$font;?>Höhe: </td><td><?=$font;?><input type="text" name="h"  value="20"> </td></td><td>
</tr>
<tr>
<td><?=$font;?>Breite: </td><td><?=$font;?><input type="text" name="b"  value="170"> </td></td><td>
</tr>
<tr>
<td><?=$font;?>Fontsize: </td><td><?=$font;?><input type="text" name="f"  value="3"> </td></td><td>
</tr>
<tr>
<td colspan=2><input type="submit" name="submit" value="Button erstellen"></td></td><td>
</tr>
</table>
</form> </center>

falls es einer ausprobieren will

hier die Buttons:
Button_2a_blanko.gif
:hell
Button_2b_blanko.gif
:dunkel
Hier die Online Version: Buttongen
Hoffe einer weis was ich meine.

MfG
Ultrasonic
 
Zuletzt bearbeitet:
Hallo Ultrasonic,

ich suche schon einige Zeit einen Buttongenerator, der frei wählbare Buttongrafiken (keine Standard-grau-grün-gelb-Buttons, sondern z.B. eigene erstellte) beschriftet.

Es gibt zwar einige Programme, doch bei denen kann man meist nur zwischen vorgegebenen Grafiken wählen und zum Schluß passt dann der Text nicht richtig drauf :-(

Wenn Du gerade am Basteln bist ... oder einen Tipp hast ... wie man mir weiter helfen könnte
(i.Ü. von PHP habe ich leider keine Ahnung)

Gruß Highnoon
 
Mhhh also am besten wäre es, wenn du eine neue datei erzeugst mittels der funktion fopen();
desweiten gibst du der datei dann den namen des im formularfeld text enthalten Wert plus das dateiformat, welches du erzeugen möchtest (gif oder jpg ect.)
letztendlich zeigst du dann diese datei an, damit jeder diese dann speichern kann!

Ich hoffe ich konnte mit der idee helfen!
Hab mir das script angeschaut und ist ganz gut gelöst obwohl ich hier und da glaube ich kürzere lösungen gefunden hätte, aber mit einem buttongenerator hab ich mich so direkt uach noch nicht beschäfftigt :-)
 
Original geschrieben von Highnoon
Hallo Ultrasonic,

ich suche schon einige Zeit einen Buttongenerator, der frei wählbare Buttongrafiken (keine Standard-grau-grün-gelb-Buttons, sondern z.B. eigene erstellte) beschriftet.

Es gibt zwar einige Programme, doch bei denen kann man meist nur zwischen vorgegebenen Grafiken wählen und zum Schluß passt dann der Text nicht richtig drauf :-(

Wenn Du gerade am Basteln bist ... oder einen Tipp hast ... wie man mir weiter helfen könnte
(i.Ü. von PHP habe ich leider keine Ahnung)

Gruß Highnoon
Hi Highnoon ,

Was schlägst du vor
Soll ich dir einen button gen basteln?

Du sagst das du keine ahnung von php hast ....hmmm
Hast Du eine Domaine wo du php benutzen kannst, wenn ja melde dioch mal per email.
greetz
ultrasonic
 
Razorhawk hat gesagt.:
Mhhh also am besten wäre es, wenn du eine neue datei erzeugst mittels der funktion fopen();
desweiten gibst du der datei dann den namen des im formularfeld text enthalten Wert plus das dateiformat, welches du erzeugen möchtest (gif oder jpg ect.)
letztendlich zeigst du dann diese datei an, damit jeder diese dann speichern kann!

Ich hoffe ich konnte mit der idee helfen!
Hab mir das script angeschaut und ist ganz gut gelöst obwohl ich hier und da glaube ich kürzere lösungen gefunden hätte, aber mit einem buttongenerator hab ich mich so direkt uach noch nicht beschäfftigt :-)

Die umsetzung bis zum Button wie willst das dann per fopen machen ?


obwohl ich hier und da glaube ich kürzere lösungen gefunden hätte

bin für optimierungen aufgeschlossen :-)
 
Um ehrlich zu sein, trau ich mir schon zu bei deinem script nach optimierungen zu suchen, aber ich hätte wohl so deutlich werden sollen, dass ich nicht die lust habe im detail mich mit deinem script zu beschäfftigen ;)
Aber so helfe ich gern

also kurz bevor der befehl kommt wo du den fertigen button ausgibst öffnest du mit fopen eine neue datei und zwar so:

$handle = fopen ("$filename.$type", "w+");

$filename = namer der datei
$type = typ der datei (txt, gif, jpg)

so dann schließt du die datei gleich wieder mit

fclose($handle);

so nun hast du (wenn dein anbieter das erlaubt auf dem server) eine neue datei angelegt mit deinem dateinamen.

nun musst du die bildinformationen nur noch in der datei speichern und zwar so:

imagegif($im,"bild2.jpg");

so speicherst du die informationen und die neu erzeugte datei.
Aber ich guck nochmal, falls fopen nicht geht, ob es eine andere möglichkeit gibt eine datei zu erstellen!
 
Zurück