| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

27-09-2010, 23:09
|
|
wp180
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 16
|
|
ImageTTFText und Farbe
Hallo zusammen.
Ich lade mit Imagecreatefrompng ein Bild, in das ich mitImagettftext einen Text einfüge. Jedoch kann ich die Textfarbe nicht ändern, sie ist immer schwarz.
PHP-Code:
$image = imagecreatefrompng("banner/$select_banner");
$titlecolor = imagecolorallocate($image, 255, 0, 0);
ImageTTFText($image, $titlesize, 0, $titlex, $titley, $titlecolor, $titlefont, $titletext);
Mache ich jedoch ein leeres Bild auf mit imagecreate, dann geht es auf einmal.
PHP-Code:
$image=imagecreate(450,110);
$titlecolor = imagecolorallocate($image, 255, 0, 0);
ImageTTFText($image, $titlesize, 0, $titlex, $titley, $titlecolor, $titlefont, $titletext);
Wie schaffe ich es, dass ich in meinen Bild die Farbe ändern kann. Bin mittlerweile sehr ratlos.
LG
Micha
|

27-09-2010, 23:47
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
kann es sein, dass das PNG-Bild ein indiziertes bzw. Graustufen-Bild ist?
Wenn ja, erzeuge ein neues Bild (imagecreatetruecolor) und kopier das geladene PNG dort hinein (imagecopy).
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

28-09-2010, 01:18
|
|
wp180
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 16
|
|
Volltreffer, das Bild war indiziert. Wenn mans weiss ist der Fehler Peanuts
Herzlichen Dank für den entscheidenden Tip.
LG
Micha
|

28-09-2010, 09:32
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
erm aus dem Web-Manual bzw den Usercomments ..
die erste Farbe, die man mit imagecolorallocate festlegt sollte IMMER die Hintergrundfarbe sein - erst die 2te Farbe soll man dann zum aktiven Malen benutzen
__________________
Wer LESEN kann, ist klar im Vorteil!
|

28-09-2010, 09:49
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
@eagle: Dann erklär mir bitte, welche Farbe in einem existierenden Bild die Hintergrundfarbe ist.
BTW: Wo steht das genau und wie wird es begründet? Wurde das zufällig im Zusammenhang mit transparenten GIFs erwähnt? Hast du das vielleicht ein bisschen aus dem Kontext gerissen?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

28-09-2010, 11:35
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
sorry - hab mich in der Quelle leicht vertan .. aber hier ist es ..
SELFPHP -> Funktionenübersicht -> image funktionen -> imagecolorallocate
Zitat : "Mit imagecolorallocate() kann man eine Farbe anlegen, die für
Zeichenoperationen auf einer Fläche (im) benutzt werden soll. Die gewünschte
Farbe wird als RGB-Wert (red, green, blue) angegeben. Die Funktion
imagecolorallocate() muss für jede Farbe aufgerufen werden, welche in der
Grafik vorkommen sollen. Jede neue Farbe einer Arbeitsfläche bekommt eine ID
(beginnend bei 0) zugewiesen; imagecolorallocate() gibt Ihnen diese ID als
Funktionsergebnis zurück.
In den bisherigen Versionen der GD-Bibliothek legen Sie mit dem ersten Aufruf
dieser Funktion automatisch die Hintergrundfarbe fest (siehe Beispiel). Sie sollten
sich allerdings nicht darauf verlassen, dass sich zukünftige Versionen genauso
verhalten. Rufen Sie zum Färben des Hintergrunds also besser die Funktion
imagefill() auf. "
Es geht ja auch nicht darum, die Hintergrundfarbe eines bestehenden Bildes zu überschreiben . vielleicht hab ich das nicht richtig ausgedrückt
die erste Farbe (ID 0 in der Tabelle, die imagecolorallocate pflegt) ist quasi als Hintergrundfarbe reserviert - jedenfalls wie im Zitat angegeben in den bisherigen GD Versionen
also ob ich die benutze oder nicht - fakt ist ..
ich würde eine Hintergrundfarbe mit imagecolorallocate anlegen (zb schwarz oder weiss oder auch ein grau-ton) und DANACH die eigentliche Zeichenfarbe - bisher hat das immer geklappt für mich
__________________
Wer LESEN kann, ist klar im Vorteil!
|

28-09-2010, 11:50
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von eagle275
ich würde eine Hintergrundfarbe mit imagecolorallocate anlegen (zb schwarz oder weiss oder auch ein grau-ton) und DANACH die eigentliche Zeichenfarbe - bisher hat das immer geklappt für mich
|
Das bezieht sich auf indizierte Bilder (also solche mit Farbpalette). Wenn man mit TrueColor-Bildern arbeitet (wie in diesem Falle das entstehende Bild), stimmt das bei SelfHTML gesagte sowieso nicht.
Beim nachträglichen Betexten eines Bildes braucht man doch aber keine Hintergrundfarbe mehr, mit der das Bild gefüllt werden soll, also ist das so oder so unnötig.
Zitat:
Zitat von eagle275
bisher hat das immer geklappt für mich
|
Ja, weil es egal ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

28-09-2010, 12:28
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
Zitat:
Zitat von wp180
Volltreffer, das Bild war indiziert.
|
Volltreffer und versenkt
__________________
Wer LESEN kann, ist klar im Vorteil!
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|