ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


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!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-02-2005, 20:10
Morrers
 Newbie
Links : Onlinestatus : Morrers ist offline
Registriert seit: Nov 2004
Beiträge: 6
Morrers ist zur Zeit noch ein unbeschriebenes Blatt
Standard Gdlib Farbproblem

Hallo habe ein Gdlib Problem:
Im Roten Teil muss ein Fehler sein, der eingefügte Text erscheint nur in einem hässlichen gelbton.
Grüner Teil funktioniert, allerding ohne ttf die ich aber benötige.
Pink ist nicht relevant.
bei blau könnte ein Fehler vorliegen, habe aber keine Ahnung.

Bitte um eure Hilfe.


<? //EINSTELLUNG ANFANG
header('Content-type: image/jpeg');
$breite = 800;
$hoehe = 117;
$domain = "www.goa-fashion.de";
$firma = "GOA FASHION";
$bilddatei ="banner2.jpg";
$schriftgross = 10;
$schriftgross1 = 80;


$fontfile = 'tahoma.ttf';$fontsize = 40; $fontangle = 0;
$textlang = imagefontwidth($schriftgross)* strlen ($domain);
$textlang1 = imagefontwidth($schriftgross)* strlen($firma);
$schriftposx = ($breite-$textlang-10);
$schriftposy = $hoehe - ($schriftgross+10);



$image2 = imagecreatefromjpeg($bilddatei);
$image3 = imagecreatetruecolor ($breite,$hoehe);
$farbe = imagecolorallocate($image3,255,255,255);
$farbe2 = imagecolorallocate($image3,0,0,0);
imagerectangle ($image3,0,0,$breite,$hoehe,$farbe);
$image2x = getimagesize($bilddatei);
if ($image2x[0]>$image2x[1]){ $divs = $image2x[0]/$breite;
$y=intval($image2x[1]/$divs);
$x= $breite;
$x2 = ($breite-$x)/2;
$y2 = ($hoehe-$y)/2; }
else{ $divs = $image2x[1]/$hoehe; $x=intval($image2x[0]/$divs);
$y= $hoehe;
$x2 = ($breite-$x)/2;
$y2 = ($hoehe-$y)/2; }
imagecopyresized ($image3,$image2,$x2,$y2,0,0,$x,$y,$image2x[0],$image2x[1]);



imagestring ($image3,$schriftgross,$schriftposx+1,$schriftposy+1,$domain,$farbe2);
imagestring ($image3,$schriftgross,$schriftposx-1,$schriftposy-1,$domain,$farbe2);
imagestring ($image3,$schriftgross,$schriftposx+1,$schriftposy-1,$domain,$farbe2);
imagestring ($image3,$schriftgross,$schriftposx-1,$schriftposy+1,$domain,$farbe2);
imagestring ($image3,$schriftgross,$schriftposx,$schriftposy,$domain,$farbe);



imagettftext ($image3,$fontsize,$fontangle,$schriftposx+1,$schriftposy+1,$farbe2,$fontfile,$firma);
imagettftext ($image3,$fontsize,$fontangle,$schriftposx-1,$schriftposy-1,$farbe2,$fontfile,$firma);
imagettftext ($image3,$fontsize,$fontangle,$schriftposx+1,$schriftposy-1,$farbe2,$fontfile,$firma);
imagettftext ($image3,$fontsize,$fontangle,$schriftposx-1,$schriftposy+1,$farbe2,$fontfile,$firma);
imagettftext ($image3,$fontsize,$fontangle,$schriftposx,$schriftposy,$farbe,$fontfile,$firma);



ImageJpeg ($image3);



ImageDestroy($image3);
exit(); ?>
Mit Zitat antworten
  #2 (permalink)  
Alt 01-02-2005, 20:25
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

imagettftext ( int im, int size, int angle, int x, int y, int col, string fontfile, string text)


wo definierst du $farbe2 und $farbe bei dir ...
Mit Zitat antworten
  #3 (permalink)  
Alt 01-02-2005, 20:26
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

habs gesehen ...

aber :

imagecolorallocate

da muss der fehler liegen ...
Mit Zitat antworten
  #4 (permalink)  
Alt 01-02-2005, 20:37
Morrers
 Newbie
Links : Onlinestatus : Morrers ist offline
Registriert seit: Nov 2004
Beiträge: 6
Morrers ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die schnelle Antwort, kannst du mir bitte schreiben, wie das genau aussehen muss. Habe leider nicht viel Ahnung von Gdlib.

Gruss
Matthias
Mit Zitat antworten
  #5 (permalink)  
Alt 02-02-2005, 20:46
Morrers
 Newbie
Links : Onlinestatus : Morrers ist offline
Registriert seit: Nov 2004
Beiträge: 6
Morrers ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy

Schade das mir auch hier niemand weiterhelfen kann.
Mit Zitat antworten
  #6 (permalink)  
Alt 02-02-2005, 22:24
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schick mal nen link damit man sich das mal anschauen kann ...

gruss
iglo
Mit Zitat antworten
  #7 (permalink)  
Alt 03-02-2005, 00:22
Morrers
 Newbie
Links : Onlinestatus : Morrers ist offline
Registriert seit: Nov 2004
Beiträge: 6
Morrers ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://www.goa-fashion.de/bild2.php
Mir geht es nicht um die Positionierung, nur um die Farbe.
Danke

Geändert von Morrers (03-02-2005 um 04:05 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 03-02-2005, 01:19
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mach mal zuerst den punkt hinter deiner grafik weg ...

schau ich mir morgen nochmal an

gruss
iglo
Mit Zitat antworten
  #9 (permalink)  
Alt 07-02-2005, 00:53
Morrers
 Newbie
Links : Onlinestatus : Morrers ist offline
Registriert seit: Nov 2004
Beiträge: 6
Morrers ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Unternehme noch einen letzten und verzweifelten Versuch eine Lösung für mein Problem zu bekommen.
Mit Zitat antworten
  #10 (permalink)  
Alt 07-02-2005, 01:33
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

schonmal das Beispiel aus der Manual ausprobiert?
Zitat:
Das Beispiel-Skript erzeugt eine schwarze GIF-Grafik von 400x30 Pixel mit dem weissen Text "Teste..." im TT-Font Arial.
PHP-Code:
<?php
Header 
("Content-type: image/gif");
$im imagecreate (40030);
$black ImageColorAllocate ($im000);
$white ImageColorAllocate ($im255255255);
ImageTTFText ($im2001020$white"/path/arial.ttf",
             
"Teste... Omega: Ω");
ImageGif ($im);
ImageDestroy ($im);
?>
Sollte es das nicht, dann ist deine GD-Library vielleicht kaputt....und wenn es funktioniert, dann ersetzt zuerst mal die Schriftart Arial durch deine und probier es dann nochmal aus, danach setzt deinen Text rein, danach änder die Größe. Dann änder die Start-Pixel fest, danach änder die Startpixel auf deine dynamisch-berechneten Variablen und ganz zum Schluss änder noch den Ausgabetyp der Datei von gif nach jpg (Header nicht vergessen!)
Wenn es irgendwann nicht mehr funktioniert, dann weißt du wo der Fehler liegt. Wenn es am Ende immernoch funktioniert, obwohl das Bild rauskommt, was du haben willst, dann guck mal, was an dem gebastelten anders ist als an dem da oben!

Das ist einfaches debugging, was jeder normale Programmierer machen würde und was DU jetzt mal alleine machen musst, weil ich keinen Bock habe mich noch weitere 10 Minuten damit zu beschäftigen...immerhin hab ich von der GD-Library auch keine Ahnung und müsste den Fehler erst suchen. Und da DU das Problem hast, darfst auch DU DEINEN Fehler suchen!

vielleicht interessant:
www.php.net/imagettftext
www.php.net/imagecolorallocate

btw. wenn du nicht mehr weiter weißt und wieder ankommst, poste mit den PHP-Tags!
Deine tollen Farben oben sind ja schön und gut, aber ich hab trotzdem nichts von dem PHP-Code verstanden....und ein paar Umbrüche im Code sind auch ganz nett, pro Zeile reicht normalerweise EINE Anweisung. Auch wenn es nur die Festlegung von default-Werten an mehrere Variablen sind, kann man das auf mehrere Zeilen verteilen.
Die Anweisungen in einem Block werden normalerweise auch eingerückt....und wenn du das mal alles machst, dann antworten vielleicht auch ein paar mehr, weil sie dann keine Probleme mehr damit haben den Code zu lesen/verstehen...
Mit Zitat antworten
  #11 (permalink)  
Alt 15-02-2005, 21:46
Morrers
 Newbie
Links : Onlinestatus : Morrers ist offline
Registriert seit: Nov 2004
Beiträge: 6
Morrers ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo
habe den Text gekürzt, bzw aus der PHP Dokumentation übernommen, müsste eigentlich alles leserlich sein.
Bitte um weitere Lösungsvorschläge da ich nicht mehr weiter komme.
http://www.goa-fashion.de/bild4.php

$bilddatei="banner.jpg";
$image = imagecreatefromjpeg ($bilddatei); // Get a background
$font = 'tahoma.ttf'; // Get a font
$textcolor = imagecolorallocate($image,0,0,0); // Set text color
$text1 = "shenko.homedns.org"; // Here is our text
imagettftext($image, 50, 0, 20, 50, $textcolor, $font, $text1); // Write the text with a font
header("Content-type: image/jpeg"); // Its a JPEG
imagejpeg($image,'',90); // Zap it to the browser
imagedestroy($image); // Memory Freeupage

Gruß
Matthias
Mit Zitat antworten
  #12 (permalink)  
Alt 10-06-2005, 16:06
Hehler
 Newbie
Links : Onlinestatus : Hehler ist offline
Registriert seit: Oct 2002
Beiträge: 16
Hehler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Truecolor gegen Truetype

Tach Leute ,
Ich zermarter mir seit Tagen am selben Problem des Hirn .
Ziel ist es , auf Grundlage eines Bildes (JPEG oder PNG) und eines Strings (sowie anderer Parameter , die hier nicht weiter relevant sind) ein neues Bild auszugeben - dabei soll der String mit TrueType auf das Bild geschrieben werden .
Ich hab mittlerweile folgendes rausbekommen :
- das Problem besteht bei TrueType Text in einem TrueColor Bild
- Textfarbe und Hintergrundfarbe stehen in direktem Zusammenhang
- der Blauwert hat keinerlei Auswirkungen
- wenn bei der Textfarbe der Rot- und/oder der Grünwert über 0 gesetzt wird , wird kein Text dargestellt
- der Rot- und Grünwert der Hintergrundfarbe bestimmen die Textfarbe , sie werden direkt übernommen

Da der Server mit dem ich leider arbeiten muss erst PHP 4.3 hat , kann ich keine Filter benutzen , die vielleicht(!) helfen könnten . Das einzige was mir noch einfällt , ist , ein temporäres Bild zu erstellen , den Text in schwarz reinzuschreiben , die Schwarzwerte Pixel für Pixel auszulesen und dann Pixel für Pixel über das Zielbild mit der gewünschten Farbe zu zeichnen , wobei der ausgelesene Schwarzwert als Opazität genutzt wird . Das müsste funktionieren , dürfte aber zu enormen Rechenzeiten führen . Hat jemand ne bessere Idee ? Hat jemand das mal unter PHP 5 getestet ?
Ich werd's am Wochenende auch nochmal unter PHP 5 testen ('n anderer Server , der hierfür allerdings derzeit nich zur Verfügung steht) .

Für jede Hilfe bin ich sehr dankbar ,
Hehler
__________________

"Eine gute Theorie ist das Praktischste, was es gibt."
Gustav Robert Kirchhoff (1827-87), dt. Physiker
Mit Zitat antworten
  #13 (permalink)  
Alt 10-06-2005, 16:43
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ohne code und beispiellink kann wohl kaum jemand dein problem nachvollziehen.
__________________
-
Mit Zitat antworten
  #14 (permalink)  
Alt 10-06-2005, 20:53
Hehler
 Newbie
Links : Onlinestatus : Hehler ist offline
Registriert seit: Oct 2002
Beiträge: 16
Hehler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Eigentlich sollten die folgenden Schnipsel ja ein beinahe identisches Ergebnis liefern , wobei ersteres vielleicht etwas pixelig wäre :
PHP-Code:
header ("Content-type: image/png");
$im imagecreate (40030);
$Weiss imagecolorallocate ($im,255,255,255);
$Schwarz imagecolorallocate ($im,0,0,0);
imagefill ($im,0,0,$Weiss);
imagettftext ($im,10,0,10,25,$Schwarz,"Schriften/Signature.ttf","Teste...");
imagepng ($im); 
PHP-Code:
header ("Content-type: image/png");
$im imagecreatetruecolor (40030); // <-- hier ist der Unterschied
$Weiss imagecolorallocate ($im,255,255,255);
$Schwarz imagecolorallocate ($im,0,0,0);
imagefill ($im,0,0,$Weiss);
imagettftext ($im,10,0,10,25,$Schwarz,"Schriften/Signature.ttf","Teste...");
imagepng ($im); 
Allerdings liefert letzteres dieses Ergebnis (original .php) :
__________________

"Eine gute Theorie ist das Praktischste, was es gibt."
Gustav Robert Kirchhoff (1827-87), dt. Physiker
Mit Zitat antworten
  #15 (permalink)  
Alt 10-06-2005, 21:43
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

deine gd spinnt.

ich bekomme mit beiden codes exakt dasselbe ergebnis => php4.3 gd2 bundled
__________________
-
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:44 Uhr.