Hallo zusammen,
kennt jemand von Euch ein PHP Script das eine Grafik (Viereck) mit runden Ecken erstellen kann. Ich habe schon mal Google gefragt, ohne Erfolg allerdings.
Mfg
Starhunter
Hallo zusammen,
kennt jemand von Euch ein PHP Script das eine Grafik (Viereck) mit runden Ecken erstellen kann. Ich habe schon mal Google gefragt, ohne Erfolg allerdings.
Mfg
Starhunter
Naja, du kannst das mit der Kreisfunktion machen. 4 Kreise an die ecken und dann demäntsprechen ein Quadrat reinsetzen.
Oder eben eine vordefinierte grafik mit runden ecken. Müsste ja auch ohne probleme möglich sein.
Greetz TimTim
Hallo timtim,
ZitatNaja, du kannst das mit der Kreisfunktion machen. 4 Kreise an die ecken und dann demäntsprechen ein Quadrat reinsetzen.
Das werde ich mal probieren.
ZitatOder eben eine vordefinierte grafik mit runden ecken. Müsste ja auch ohne probleme möglich sein.
Das ist mir zu unflexibel. Ich will die Grafik unter dem Text und wenn ich den Text dann ändere muß ich jedesmal auch die Grafik ändern.
Mfg
Starhunter
Naja, wenn du immer einen kasten mit runden ecken brauchst, kannst ja einfach nur ein forgefertigten kasten nehmen und ihn dann als hintergrund einfügen. Es ist ja mit php kein problem bilder in andere bilder hinein zu kopieren. Auch teilabschnitte von bildern können eingefügt werden. Es macht so vieles einfacher.
Greetz
ich kenne das von css aber php hat eigendlich mit darstellung in diesem Sinne nichts zutun es gibt cs-befehle dafür die leider nur relativ schlecht unterstützt werden !
einfach mal "css runde ecken" googeln findest garantiert was !
MFG
PS: Wie gesagt mit php kommst du da nicht weiter !
ich denke schon, dass man da mit php weiter kommen kann, jenachdem wie flexibel man sein will.
mit phpkenn man (wenn ich richtig informiert bin) z.B.grafiken übereinanderlegen, erstellen, verschieben etc., von daher sollte das eigentlich kein problem sein.
ich als php-nixkönner bevorzuge allerdings die variante mit grafiken oder css-befehlen, die hoffentlich bald etwas "serienmäßiger" eingeführt werden.
gruß
laura
Ne, das grafik erstellen wird in CSS/HTML nie möglich sein, da es ja wie wie wissen eine auszeichungssprache ist.
In php gibt es nunmal module zum zeichen.
Für alle die sich darunter jetzt nichts vorstellen können, mal einfach gesagt.
Man definiert in PHP eine bildgröße z.B 100*100px
dann definiert man eine hintergrundfarbe.
Und dann kann man Pixel für Pixel mit einer anderen farbe füllen.
Es gibt aber auch fertige functionen, damit man rechtecke und kreise zeichenen kann. Da gibt man dann einfach an von welchem zu welchem pixel der kasten gehen soll.
Also wirklich einfach malen geht nicht. Aber dafür kann man einfach bilder nehmen, die schon bestehen, und sie zuschneiden, und in andere bilder hineinkopieren.
Das sieht man oft bei Browsergames, wenn die spieler ein eigenes Signatur bild haben, in dem immer der richtige Platz der Rangliste steht, oder wieviel geld die person hat, usw.
Da wird die hintergrundgrafik genommen und an die richtige stelle
(pixel) Text eingefügt. Prakisch da die texte immer direckt aus der Datenbank in die Bilder eingefügt werden können, und so immer aktuell sind.
Greetz TimTim
Hallo Leute,
ich habe mal eine Funktion erstellt.
RoundedCorners.php
<?php
function RoundedCorners()
{
$width = $_GET['width'];
$height= $_GET['height'];
if (!isset($width))
$width = 350;
if (!isset($height))
$height = 250;
$image = imagecreatetruecolor($width, $height) or die('Cannot Initialize new GD image stream');
$farbe1 = imagecolorallocate($image, 200, 240, 200); // color of the image
$black = imagecolorallocate($image, 0, 0, 0); // background
imagecolortransparent($image, $black);
imagefilledellipse($image, 25, 25, 50, 50, $farbe1);
imagefilledellipse($image, 25, $height-25, 50, 50, $farbe1);
imagefilledellipse($image, $width-25, $height-25, 50, 50, $farbe1);
imagefilledellipse($image, $width-25, 25, 50, 50, $farbe1);
imagefilledrectangle($image, 0, 25, $width, $height-25, $farbe1);
imagefilledrectangle($image, 25, 0, $width-25, $height, $farbe1);
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
}
?>
Alles anzeigen
Testdatei GrafikTest.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta name="description" content="">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="generator" content="Webocton - Scriptly (www.scriptly.de)">
</head>
<body>
<img src="RoundedCorners.php?width=350&height=250" height="250" width="350" alt="" />
</body>
</html>
Alles anzeigen
Beide Dateien sind im ordner C:\Xampp\htdocs.
Wenn ich sie innerhalb einer HTML Datei aufrufe wird allerdings nichts angezeigt. Wo ist der Bug??
Mfg
Starhunter
Ehm, ich würde schwer darauf tippen das du die function nicht aufrufst..
In dem fall ist es eh unnütze eine function zu erstellen, wenn du sie nicht an mehrern stellen benutzt..
Also entweder die function aufrufen, oder einfach die function entfernen..
Ich würde es ohne function machen, wie gesagt daraus hat man hier keinen nutzen, weil hier wirklich nur eine sache gemacht wird, und die nur beim aufruf benutzt wird.
Und bei functionen immer ein Return einbauen, egal ob benötigt oder nicht.. Aber functionen ohne return können ins leere laufen.
Greetz TimTim
ps. Stört es dich wenn ich das skript behalte, und falls nötig nutze =D Spart man sich das rumtesten.
Hallo timtim,
ZitatEhm, ich würde schwer darauf tippen das du die function nicht aufrufst..
Hm, die Funktion wird doch aufgerufen.
Zitat<img src="RoundedCorners.php?width=350&height=250" height="250" width="350" alt="" />
ZitatIch würde es ohne function machen, wie gesagt daraus hat man hier keinen nutzen, weil hier wirklich nur eine sache gemacht wird, und die nur beim aufruf benutzt wird.
Das ist nur eine Testseite. Wenn es funktioniert kann man die Funktion in verschiedenen Seiten mit verschiedenen Parametern aufrufen.
ZitatUnd bei functionen immer ein Return einbauen, egal ob benötigt oder nicht.. Aber functionen ohne return können ins leere laufen.
Hatte ich auch schon Drin - ohne Erfolg allerdings.
In den Beispielen stand auch nie return drin.
ZitatStört es dich wenn ich das skript behalte, und falls nötig nutze =D Spart man sich das rumtesten.
Kannst Du gerne benutzen. Falls ich es irgendwie hinkriege werde ich es dahingehend erweitern das man auch die Farbe und Rand angeben kann.
Mfg
Starhunter
Hallo nochmal,
es funktioniert.
ZitatIch würde es ohne function machen, wie gesagt daraus hat man hier keinen nutzen, weil hier wirklich nur eine sache gemacht wird, und die nur beim aufruf benutzt wird.
Hast vollkommen Recht. Habs im ersten Moment nicht ganz verstanden.
<?php
$width = $_GET['width'];
$height= $_GET['height'];
if (!isset($width))
$width = 350;
if (!isset($height))
$height = 250;
$image = imagecreatetruecolor($width, $height) or die('Cannot Initialize new GD image stream');
$farbe1 = imagecolorallocate($image, 200, 240, 200); // color of the image
$black = imagecolorallocate($image, 0, 0, 0); // background
imagecolortransparent($image, $black);
imagefilledellipse($image, 25, 25, 50, 50, $farbe1);
imagefilledellipse($image, 25, $height-25, 50, 50, $farbe1);
imagefilledellipse($image, $width-25, $height-25, 50, 50, $farbe1);
imagefilledellipse($image, $width-25, 25, 50, 50, $farbe1);
imagefilledrectangle($image, 0, 25, $width, $height-25, $farbe1);
imagefilledrectangle($image, 25, 0, $width-25, $height, $farbe1);
header("Content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
Alles anzeigen
Mfg
Starhunter
Ja, das mit den Functionen ist für viele am anfang verwirrend.. genauso wie mit classen..
Im endefekt packen die meisten dann Prodzeduale Programmierung rein.. was ja komplett unütze ist.
Falls da mal wehr n paar tip oder anregungen braucht, wie man classen und functionen sinnvoll anwändet helfe ich gerne weiter =D.
Greetz
Hab den oberen beitrag überlesen.
Also du hast ja gemerkt das der aufruf der seite nicht die function startet.
Das mit dem farben angeben ist recht einfach.
Du musst einfach nur die HTML farben umrechnen..
Die sind ja in hex 00 rot 00 grün 00 blau is in decimal 0,0,0
und ff = 255 usw, gibt in php functionen um es umzurechnen..
von Hex in dez =D.
Weiter bringt dann auch die function nichts, da du ja immer das skript aufrufen musst, und solange nichts anderes dort drinn ist brauchst keine function.
Zum return, wenn die function nur selbst was ausgibt, bringt das return nichts, schliest aber formell die Function.
Wirklich nutzen hat es erst wenn du das was die function macht über das return ausgibst. Was functionen ja eigentlich machen sollten, einen rückgabewert haben.
siehe 90% der php functionen.. =)
Greetz
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.