Antworten auf deine Fragen:
Neues Thema erstellen

Image-Funktionen

Duddle

Posting-Frequenz: 14µHz

AW: Image-Funktionen

Aber es steht doch alles da, oder?

Gib der Funktion eine Schriftgröße, einen Winkel, die Schriftart und einen Text, schon gibt sie dir die 4 X- und Y-Werte der Ecken. Wenn ich dir ein Rechteck angebe, solltest du problemlos die Breite dieses Rechtecks angeben können. Mit dieser Breite weißt du dann, wo das nächste Wort anfangen muss, usw.


Duddle
 

ddjjmm

Nicht mehr ganz neu hier

AW: Image-Funktionen

Habe es gerade mal so probiert:

PHP:
$text1 = "Video;Entertainment";
$text2 = "bereits ab 249 EUR"; 
// Splitting of the inserted string
$tmp = explode(";",$text1);
$counter = 0;
$totalLength = 100;

while($counter < 100) {
        $ausgabe = $tmp[$counter];
        $strLength = strlen($ausgabe);
        
        if($strLength >= 0) {
        
            if($ausgabe == "Video") { 
                ImageTTFText($im, 20, 0, $totalLength, 39, $orange, $font, $ausgabe); }
            else { 
                ImageTTFText($im, 20, 0, $totalLength, 39, $white, $font, $ausgabe); }
        } else { $counter = 100; }
        $counter = $counter + 1;
        $totalLength = $totalLength + $strLength;
}

Allerdings klappt es noch nicht, dass er das Wort "Video" erkennt in der IF Schleife und folglich orange ausgibt, sowie dass er die Länge hochaddiert und es daneben setzt. Aktuelle Ausgabe: alles in Schwarz und fängt beim gleichen x Wert an.

PS: Habe es noch nicht mit dem anderen realisiert, weil ich's damit schlichtweg noch nicht hinbekomme. :hmpf:
 

Duddle

Posting-Frequenz: 14µHz

AW: Image-Funktionen

PHP:
$black = ImageColorAllocate ($zielbild, 0, 0, 0);
$red = ImageColorAllocate ($zielbild, 255, 0, 0);
$fontpath = "./verdanaz.ttf"; 
$fontsize = 10;
$x = 50;
$y = 50;
$angle = 0;
$highlights = array("Hallo", "Welt");

$text = "Die Welt ist eine Scheibe und keiner sagt 'Hallo'";

foreach(explode(" ", $text) as $word) {
	$color = in_array($word, $highlights) ? $red : $black;
	ImageTTFText($zielbild, $fontsize, $angle, $x, $y, $color, $fontpath, $word." ");

	$box = ImageTTFBBox($fontsize, $angle, $fontpath, $word." ");
	$x += $box[2] - $box[0];
}

Versuch mal, den Pseudocode neben dieses Script zu legen. Dann solltest du sehen, wie eindeutig die Zuordnung ist.

Edit: Achja, das funktioniert nur für Winkel 0. Ansonsten müsstest du ein bisschen Mathe machen und $x anders berechnen.


Duddle
 
Zuletzt bearbeitet:

ddjjmm

Nicht mehr ganz neu hier

AW: Image-Funktionen

Hab's verstanden, vielen Dank!

Waren auch noch ein paar Techniken dabei, die ich bisher noch nicht kannte. :rolleyes:

Das Script macht aktuell ja Unterschiede, wenn es z.b. ein zusammenhängendes Wort wie "HalloWelt" der Fall ist und färbt nicht.

Wie kann ich die Funktion erweitern, dass auch im solchen Fall das "Welt" farbig wird und trotzdem zusammen bleib.

Reguläre Ausdrücke?
 
Zuletzt bearbeitet:

SineTempore

Nicht mehr ganz neu hier

AW: Image-Funktionen

du könntest einfach beim explode nicht nach dem leerzeichen suchen sondern nach "welt".
das array das du bekommst musst du nun wieder mit dem farbigen welt zusammenbauen.
nachteil:
du kannst nicht "gut" nach mehreren begriffen wie beim script von duddle suchen
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben