-
30.01.12 22:07 #1
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
Hallo, ich hoffe ich bin im richtigen Forum mit meiner Anfrage. Wenn nicht, bitte einfach verschieben.
Und zwar suche ich einen Coder der mir mit PHP (oder so) ein Skript bastelt der einen Text in einen Kreis schreibt.
Der Kreis ist immer die selbe Grafik (z.B. 300x300px) die ins Skript geladen werden soll. Also eine Art Wappen. Es muss nur noch der Text immer unten mittig (richtig herum beim lesen) angebraucht werden. Anschliessend muss die neue Grafik auf dem Server gespeichert werden.
Ich bin gerne bereit dafür zu behahlen, denn selber kriege ich es einfach nicht hin.
Der Text wie z.B. "Fußball" oder "Ball" muss immer mittig (unten) sein. Umso länger der Text wird, umso mehr soll es halt nach oben wanders. Halt wie bei einem Wappen.
Gutes Beispiel: http://www.kirchendemenreuth.de/wappen_rund1.gif
Edit:
Es ist mir egal welche Programmiersprache oder so verwendet wird. Hauptsache der User ist nicht gewungen irgend ein PlugIn zu installieren oder so. Des Weiteren soll der User die verarbeitung der Grafik nicht sehen. Erst wenn das Bild als neues Bild (Standard Grafik + Text = Neue Grafik) auf dem Server gespeichert wurde, soll es der User sehen.Geändert von Alice (30.01.12 um 22:13 Uhr)
-
30.01.12 22:21 #2
Nun, du bist schon lange im Forum - und solltest darum wissen dass dies der falsche Ort ist.
-> Verschoben---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
30.01.12 22:23 #3
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
Ich hab dieses Unterforum nicht gesehen. Sorry!
-
31.01.12 17:14 #4
Mitglied Silber
- Registriert seit
- Aug 2010
- Ort
- %ENV (Perl weiß es)
- Beiträge
- 67
Wieviel würdesten bezahlen
#MFG Bratack
Coder
Fragen zu Beiträgen bitte PN
-
31.01.12 21:09 #5
Gerade innerhalb von ~10 Minuten erledigt

Ergebnis
1.)
2.) "Love PHP!" (LCD-BOLD.TTF - frei von dafont.com bzw. Samuel Reynolds)
3.)
Code
Originale Quelle für den Code war: http://www.ithowto.ro/2009/03/howto-...th-php-and-gd/
Für dich abgeändert:
Momentan fehlt die Dokumentation der Funktion - vllt. füge ich sie im Code noch hinzu.PHP-Code:<?php
function &bl5000Text(&$imgObj, $textProps, $offsetX=0, $offsetY=0, $charSpan=10)
{
$text = strrev($textProps['text']);
$textLen = strlen($text);
$charSpanMin = 360/$textLen;
if ( $charSpan > $charSpanMin )
$charSpan = $charSpanMin;
$start_angle = ceil($charSpan*($textLen/2));
for ( $i=0; $i<$textLen; $i++ )
{
$a = ($charSpan*$i)-$start_angle;
$cos = cos(deg2rad($a));
$sin = sin(deg2rad($a));
$x = 0;
$y = 180;
$xt = round($cos*($x) - $sin*($y));
$yt = round($sin*($x) + $cos*($y));
imagettftext($imgObj, $textProps['fontSize'], 360-$a, $offsetX+$xt, $offsetX+$yt, $textProps['color'],
$textProps['font'], $text[$i]);
}
return $imgObj;
}
$image = imagecreatefromjpeg('circle.jpg');
$red = imagecolorallocate($image,255,0,0);
$image = bl5000Text($image, array('text' => 'Love PHP!', 'color' => $red, 'font' => 'LCD-BOLD.TTF', 'fontSize' => 30),
200, 200);
header("Content-type: image/jpeg");
imagejpeg($image,"",100);
imagedestroy($image);
?>
Ansonsten:
- $imgObj Eine Bild-Ressource, erstellt durch z.B. imagecreatefromjpeg().
- $textProps Ein assoziatives Array mit folgenden Informationen bezüglich des anzuzeigenden Textes:
- text Der anzuzeigende Text
- color Eine durch imagecolorallocate() erstellte Farben-Ressource
- font Der Pfad zu der zu nutzenden Schriftart
- fontSize Die Schriftgröße in pt
- $offsetX=0 Abstand von links
- $offsetY=0 Abstand von oben
- $charSpan=10 Abstand der einzelnen Zeichen in Grad
mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
31.01.12 21:49 #6
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
WOW!
Vielen vielen vielen Dank! Das probiere ich direkt mal aus!
Ich möchte auf keinen Fall unhöflich klingen oder so, aber könntest du bitte bitte ein paar Einstellungen so ändern das der Text auf diese Grafik passt?
http://www.abload.de/img/circlez9uos.png
Das wäre so super!
-
31.01.12 22:50 #7
Auja, etwas zum spielen!
Bei mir siehts relativ gut aus:PHP-Code:<?php
function &bl5000Text(&$imgObj, $textProps, $offsetX=0, $offsetY=0, $charSpan=13)
{
$text = strrev($textProps['text']);
$textLen = strlen($text);
$charSpanMin = 360/$textLen;
if ( $charSpan > $charSpanMin )
$charSpan = $charSpanMin;
$start_angle = ceil($charSpan*($textLen/2));
for ( $i=0; $i<$textLen; $i++ )
{
$a = ($charSpan*$i)-$start_angle;
$cos = cos(deg2rad($a));
$sin = sin(deg2rad($a));
$x = 0;
$y = 240;
$xt = round($cos*($x) - $sin*($y));
$yt = round($sin*($x) + $cos*($y));
imagettftext($imgObj, $textProps['fontSize'], 360-$a, $offsetX+$xt, $offsetX+$yt, $textProps['color'], $textProps['font'], $text[$i]);
}
return $imgObj;
}
$image = imagecreatefromjpeg('circle.jpg');
$red = imagecolorallocate($image,255,0,0);
$image = bl5000Text($image, array('text' => 'Love PHP!', 'color' => $red, 'font' => './LCD-BOLD.TTF', 'fontSize' => 40),
260, 200);
header("Content-type: image/jpeg");
imagejpeg($image,"",100);
imagedestroy($image);
?>
-
31.01.12 23:27 #8
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
Ja sieht bei mir auch gut aus. Nur der Text ist nicht mittig.
Edit:
Wenn ein "I" im Text vorkommt, ist der Abstand etwas sehr hoch. Jemand eine Idee wie man das ändern könnte?Geändert von Alice (31.01.12 um 23:56 Uhr)
-
01.02.12 14:32 #9
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
Hallo.

Kann mir jemand sagen was die "200" am ende des Codes bewirkt?
PHP-Code:$image = bl5000Text($image, array('text' => 'Love PHP!', 'color' => $red, 'font' => './LCD-BOLD.TTF', 'fontSize' => 40),
260, 200);
-
01.02.12 14:44 #10---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
01.02.12 14:46 #11
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
Auf welche Frage hast du jetzt geantwortet?
-
01.02.12 14:55 #12
Logischerweise die Antwort auf die Frage, was die 200 am Ende des Codes bewirkt.
Ich mag:
- positive Bewertungen meiner Beiträge
- ein Danke für meine hilfreichen Beiträge
Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX
... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.
-
01.02.12 15:06 #13
So, habe noch eine zwei Einstellmöglichkeiten hinzugefügt, die Parameterliste verkürzt und einen Bug beseitigt (hatte auch für den Y-Wert $offsetX im Code genommen).
Code ist jetzt in einem Blogeintrag hier verfügbar: http://www.tutorials.de/blogs/comfre...schreiben.html
Wegen dem "I":
In der Tat erscheint beim "I" immer ein größerer Abstand zu anderen Buchstaben - und das bei mehreren verschiedenen Schriftarten.
Vielleicht weiß hier jemand den Hintergrund?mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
01.02.12 15:08 #14
Mitglied Smaragd
- Registriert seit
- Mar 2010
- Beiträge
- 1.042
OK das dachte ich mir natürlich schon aber egal welche Zahl ich dort einbaue (von 0 bis 1000) sehe ich keine veränderung.
Jemand ne Idee wie ich das Problem mit dem Buchstaben "I" lösen kann? Denn dann wäre der Sourcecode PERFEKT.
Ich habe schon anderen Schriftarten ausprobiert aber immer das selbe Problem. Der abstand nach Rechts nach einem "I" ist 3 mal so hoch wie der normale Abstand.
-
01.02.12 15:18 #15Immer noch (dort einbaue)?OK das dachte ich mir natürlich schon aber egal welche Zahl ich dort einbaue (von 0 bis 1000) sehe ich keine veränderung.mfg ComFreek
Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
[PHP] Überprüfen, ob Website erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
Ähnliche Themen
-
kreis-Text
Von iAZ im Forum CSSAntworten: 2Letzter Beitrag: 21.01.09, 18:35 -
Text im Kreis - nicht auf dem Kreis!
Von cyberium im Forum Vektor-ProgrammeAntworten: 2Letzter Beitrag: 14.11.05, 12:43 -
text im kreis/ um kreis
Von ComicBookGuy im Forum PhotoshopAntworten: 5Letzter Beitrag: 15.04.04, 18:42 -
text im kreis
Von reko im Forum Flash PlattformAntworten: 11Letzter Beitrag: 25.02.03, 11:02


11Danke



Login