php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.08.2005, 21:13  
Erfahrener Benutzer
 
Registriert seit: 01.07.2005
Beiträge: 225
JohnRambo
Standard Frage zu grafiken

hiho,

ma wieder ne frage ^^ .. also,
ich hab ein paar daten ausgelesen, und möcht die jetz in ne grafik basteln .. hier erstmal der code
PHP-Code:
<?php
$pthImage1 
"battle.png";


$im imagecreatetruecolor (460110);
$tc1  imagecolorresolve ($im000);
$im1 imagecreatefrompng($pthImage1);
$im2 imagecreatefromgif($symbol);

ImageCopy ($im$im10000460110);
ImageCopy ($im$im220060002515);

ImageString($im35547"test"$tc1);
ImageString($im35527"test"$tc1);

header("Content-Type: image/png");
imagepng($im,"neue.png");
ImageDestroy($im);
?>
das bild is blos ein weisser background, mit den maßen 460*110, der text "test" , "test" wird au in schwarz angezeigt. allerdings wollt ich ejtzt noch ein zweites bild einfügen, das geht doch mit copy oder??

die adresse zum bild is in der variable symbol gespeichert
PHP-Code:
<?php
$symbol 
"test_1.png";
?>
meine frage:

warum wird das 2te bild nicht mit eingearbeitet?
JohnRambo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.08.2005, 21:20  
Gast
 
Beiträge: n/a
Standard

Warum steht diese Zeile

$symbol = "test_1.png";

denn nicht in dem Script? Wie soll denn dieser Wert dann darin vorhanden sein?

Gruß
phpfan
 
Alt 15.08.2005, 21:22  
Erfahrener Benutzer
 
Registriert seit: 01.07.2005
Beiträge: 225
JohnRambo
Standard

diese variable wird weiter vorher festgelegt, in ner if-abfrage! .. die if-abfrage stimmt aber, somit auch die url. (habs mir per echo schon ausgeben lassen)
JohnRambo ist offline  
Alt 15.08.2005, 21:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
$im2 = imagecreatefromgif($symbol);
Zitat:
$symbol = "test_1.png";
Kleiner Witz zum Abend ...
Also mit ImageCreateFromGIF eine PNG-Datei öffnen ?
 
Alt 15.08.2005, 22:00  
Erfahrener Benutzer
 
Registriert seit: 01.07.2005
Beiträge: 225
JohnRambo
Standard

jop da weis ich acuh ncih was ich gemacht habe .. habs grad vorhin gemerkt, ausprobiert, geht trotzdem ned ;_; ..
JohnRambo ist offline  
Alt 16.08.2005, 06:05  
Gast
 
Beiträge: n/a
Standard

Zitat:
header("Content-Type: image/png");
imagepng($im,"neue.png");
Alles etwas komisch bei dir

Wie wird denn nun das Bild ausgegeben bzw. angezeigt ?
 
Alt 16.08.2005, 11:29  
Erfahrener Benutzer
 
Registriert seit: 01.07.2005
Beiträge: 225
JohnRambo
Standard

hat bisher immer so gefunkt .. ja das bild is nur dieses weisse, mit dem text "test" "test" in schwarz. sonst nixe
JohnRambo ist offline  
Alt 16.08.2005, 13:31  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

PHP-Code:
<?php
    
// SQL Abfrage
    
$sql "SELECT * FROM btc_koords;";
    
$result_query mysql_query($sql);
    
// Header
    
header ("Content-type: image/png");
    
// Image wird erstellt
    
$im ImageCreate (800800);
    
// Hintergrund- und Textfarben werden festgelegt
    
$background_color ImageColorAllocate ($im0200200);
    
$freund_color ImageColorAllocate ($im02550);
    
$feind_color ImageColorAllocate ($im25500);
    
$neutral_color ImageColorAllocate ($im125125125);
    
// Schleife zur Bearbeitung der Grafik
    
while($ergebnis mysql_fetch_array($result_query)) {
        
$x_koords = ($ergebnis['X'] * 4);
        
$y_koords = ($ergebnis['Y'] * 4);
        
// Farbdefinition des Textes
        
if ($ergebnis['FreundFeind'] == 0) { $dot_color $freund_color; }
        if (
$ergebnis['FreundFeind'] == 1) { $dot_color $neutral_color; }
        if (
$ergebnis['FreundFeind'] == 2) { $dot_color $feind_color; }
        
// Manipulation der Grafik
        
imagesetpixel($im$x_koords$y_koords$dot_color );
        
imagesetpixel($im, ($x_koords 1), $y_koords$dot_color );
        
imagesetpixel($im, ($x_koords 2), $y_koords$dot_color );
        
imagesetpixel($im, ($x_koords 3), $y_koords$dot_color );
        
imagesetpixel($im$x_koords, ($y_koords 1), $dot_color );
        
imagesetpixel($im, ($x_koords 1), ($y_koords 1), $dot_color );
        
imagesetpixel($im, ($x_koords 2), ($y_koords 1), $dot_color );
        
imagesetpixel($im, ($x_koords 3), ($y_koords 1), $dot_color );
        
imagesetpixel($im$x_koords, ($y_koords 2), $dot_color );
        
imagesetpixel($im, ($x_koords 1), ($y_koords 2), $dot_color );
        
imagesetpixel($im, ($x_koords 2), ($y_koords 2), $dot_color );
        
imagesetpixel($im, ($x_koords 3), ($y_koords 2), $dot_color );
        
imagesetpixel($im$x_koords, ($y_koords 3), $dot_color );
        
imagesetpixel($im, ($x_koords 1), ($y_koords 3), $dot_color );
        
imagesetpixel($im, ($x_koords 2), ($y_koords 3), $dot_color );
        
imagesetpixel($im, ($x_koords 3), ($y_koords 3), $dot_color );
        if (
$y_koords >= 780) {
            
ImageString ($im3, ($x_koords 2), ($y_koords 12), $ergebnis['ID'], $dot_color);
        } else {
            
ImageString ($im2, ($x_koords 2), ($y_koords 3), $ergebnis['ID'], $dot_color);
        }
    }
    
// Ausgabe der Grafik
    
ImagePNG($im);
    
    
// 2. Bild
    //$im1 = ImageCreateFromPNG("test.png");
    // SQL Abfrage
    
$sql "SELECT * FROM btc_koords;";
    
$result_query mysql_query($sql);
    
$result_num mysql_num_rows($result_query);
    
$hoehe = ($result_num 15) + 25;
    
// Image wird erstellt
    
$im1 ImageCreate (300$hoehe);
    
// Hintergrund- und Textfarben werden festgelegt
    
$background_color1 ImageColorAllocate ($im10200200);
    
$freund_color1 ImageColorAllocate ($im102550);
    
$feind_color1 ImageColorAllocate ($im125500);
    
$neutral_color1 ImageColorAllocate ($im1125125125);
    
// Durchlaufvariable
    
$count 0;
    
// Schleife zur Bearbeitung der Grafik
    
while($ergebnis mysql_fetch_array($result_query)) {
        
$count++;
        
// Verschiebung nach Unten (Simulierung von Zeilen)
        
$y_name = ($count 15);
        
// Farbdefinition des Textes
        
if ($ergebnis['FreundFeind'] == 0) { $dot_color $freund_color1; }
        if (
$ergebnis['FreundFeind'] == 1) { $dot_color $neutral_color1; }
        if (
$ergebnis['FreundFeind'] == 2) { $dot_color $feind_color1; }
        
// Test wird in das Bild eingefügt
        
ImageString ($im1115$y_name$ergebnis['ID']." ".$ergebnis['Name'], $dot_color);
    }
    
// Ausgabe des Bildes
    
ImagePNG($im1);
?>
Problem bei mir:
1. Bild zeigt er an, dass 2. Bild nicht.
Ich kann das 2. Bild auch nicht auf eine Datei umbiegen, das ignoriert er ebenfalls.
Ich konnte ein vorhandenes Bild bearbeiten, aber nicht auf eine Datei zurückschieben. Irgendwie mag er den ImagePNG($im1, "test.png") Befehl nicht :/
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
Alt 16.08.2005, 14:13  
Gast
 
Beiträge: n/a
Standard

Sooooooooooooo ....

ich habe nun das Script bei mir nachgebaut, was etwa so aussieht:

PHP-Code:
<?php
$pthImage1 
"battle.png"
$symbol "symbol.png"

$im ImageCreateTrueColor (460110); 
$tc1  ImageColorResolve ($im000);

$im1 ImageCreateFromPNG($pthImage1); 
$im2 ImageCreateFromPNG($symbol); 

ImageCopy ($im$im10000460110); 
ImageCopy ($im$im2550080100); 

ImageString($im35547"test test test"$tc1); 
ImageString($im35527"test test test"$tc1); 

//header("Content-Type: image/png"); 

ImagePNG($im"neue.png"); 

ImageDestroy($im); 
ImageDestroy($im1);
ImageDestroy($im2);

echo 
'[img]neue.png[/img]';
?>
und ich hatte keine Probleme.
Alle Bilder inkl. schwarzen Text wurden dargestellt.

Aber !

Überprüfe mal bitte ob die PNG-Bilder auch im richtigen PNG-Format überhaupt vorliegen.
Sonst könnte etwa wie folgendes kommen:

gd-png: fatal libpng error: Invalid chunk length.

Und dann passiert leider nicht viel

Das Bild was bei meinen Test rauskam sah bzw. sieht so aus:

http://www.cix88.de/pic/neue.png
 
Alt 16.08.2005, 14:19  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

Bei mir bleibt das Problem, dass ich nicht 2 Bilder hintereinander generieren und ausgeben kann.
Nach dem ersten ist schluß.
Ebenfalls kann ich zwar ein vorhandenes Bild öffnen und bearbeiten, allerdings kann ich es nicht speichern, da dann eine Fehlermeldung kommt, dass die Grafik einen Fehler enthält. Ohne angabe des Dateinamens bei ImagePNG() allerdings zeigt er mir die Grafik dann fehlerfrei und wie gewollt an. (aber immer nur die erste der beiden)
Tipps und Tricks?

[edit] Testcode (geht):
PHP-Code:
<?php
header 
("Content-type: image/png");
$im ImageCreateFromPNG("test.png");
ImagePNG($im);
?>
Geht nicht:
PHP-Code:
<?php
header 
("Content-type: image/png");
$im ImageCreateFromPNG("test.png");
ImagePNG($im"test.png");
?>
Fehler bei den Rechten schließe ich aus, da ich die png auf 777 hab.
Fehlermeldung zu sehen unter: http://www.warrenfaith.de/test.php
[/edit]
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smarty frage: switch($action) PHP Tipps 2007 5 30.12.2006 18:07
Dyn. Grafiken mit text - Problem : Grafiklänge PHP-Fortgeschrittene 8 28.10.2005 14:03
Blöde Frage " oder ' FireFIghter PHP Tipps 2005-2 7 22.09.2005 07:06
GDLib mehere Grafiken erzeugen und positionieren PHP Tipps 2005-2 2 06.08.2005 17:57
Verweis-sensitive Grafiken Masteroi Beitragsarchiv 4 08.07.2005 15:34
es ist immer ein minimaler Abstand zwischen den Grafiken ajo_silent HTML, Usability und Barrierefreiheit 6 27.06.2005 16:43
[Erledigt] frage PHP Tipps 2005-2 9 15.06.2005 13:22
.htaccess - Frage Stümper PHP Tipps 2005 11 30.05.2005 11:56
Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage: gibt es bei PHP sowas wie target="_blank" PHP Tipps 2005 6 20.04.2005 06:27
Grafiken mit css positionieren HTML, Usability und Barrierefreiheit 12 30.12.2004 13:15
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
Frage zum Einfügen von Fotos PHP Tipps 2004 11 26.09.2004 14:28
[Erledigt] Frage! PHP Tipps 2004 4 27.07.2004 11:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
imagecolorresolve png, imagesetpixel vorhandenes bild

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.