Grafik kann nicht angezeigt werden da sie Fehler enthält

rollerueckwaerts

Erfahrenes Mitglied
Hallo, bei den Versuch nen dynamischen Statusbalken mit php und 2 PNG's zu schreiben scheiter ich an der Fehlermeldung aus der headline.

Die Grafik wird nicht angezeigt und ich weiß nicht warum. Die Pfade stimmen alle definitiv.

Der Code ( verkürzt )'

PHP:
$action = $_GET["action"];
if ($action=="image")  {	

$im_0 = ImageCreateFromPNG("components/com_virtuemart/themes/ilvm_theme/templates/browse/image1.png");

header('Content-type: image/png');
imagepng($im_0); 
			
			} 		
				?>

<img src="<? echo $PHP_SELF;?>index.php?option=com_virtuemart&Itemid=69&action=image"> 		
				</div>
				<!--product details -->  
				<div class="ssmed_product_details_start">
					<div class="ssmed_product_details">
						<a href="<?php echo $product_flypage ?>">
							<?php echo $product_details ?>
						</a>
					</div>
				</div>
				<!--Customer Review -->
				<div class="ssmed_customer_review">
					<?php echo $product_rating ?>
				</div>

Was mache ich falsch ? Habe bereits fleißig gegooglelt aber keine Lösung gefunden.
Könnte mir vorstellen das es davon kommt das nicht auf der gleichen Seite mit Content-Type image/png noch html qusgeben darf... aber wie das Problem lösen ?
Hoffe auf nen guten Tipp :)


Lg
Tobi
 
Zuletzt bearbeitet:
Das Problem liegt, wie du schon sagest, darin, dass du dem Header sagst, dass er ein Png Bild darstellen soll, du aber dann Htmlcode ausgibst. Das Problem kannst du lösen, indem du das Bild intern speicherst und dann ganz normal in den htmltag einbindest.
 
Zuletzt bearbeitet:
Danke für den Rat. Habe das ganze jetzt ausgelagert.
Ergebnis ist leider immernoch kein Bild :(

Anstatt der vorige Code steht jetzt nur noch
PHP:
<img src="components/com_virtuemart/themes/ilvm_theme/templates/browse/statusbar.php">



Die statusbar.php :
PHP:
$im_100 = ImageCreateFromPNG("components/com_virtuemart/themes/ilvm_theme/templates/browse/image.png"); 
$im_0 = ImageCreateFromPNG("components/com_virtuemart/themes/ilvm_theme/templates/browse/image1.png");
$zahl_aktuell = 1;
$zahl_erreicht = 4000;

		//Die koordinaten des ersten (prozent) Balken
$balken1_obenlinks_x = 95;
$balken1_obenlinks_y = 29;
$balken1_untenrechts_x = 428;
$balken1_untenrechts_y = 42;

$groesse_prozentzahl_px = 9;
$datum_start = "1/1/2009"; // TT/MM/JJJJ


//Koordinaten von dem Raum, in dem die absolute verbleibende Anzahl rein soll
$anzahl_bis_erreichen_pos_ol_x = 57;
$anzahl_bis_erreichen_pos_ol_y = 6;
$anzahl_bis_erreichen_pos_ur_x = 111;
$anzahl_bis_erreichen_pos_ur_y = 24;

//Koordinaten der Aktuellen-Stand-Zeile
$stand_pos_x = 0;
$stand_pos_y = 89;

header('Content-type: image/png');
imagepng($im_0); 
//$stand = "Stand: ".$zahl_aktuell."";
die();

Jetz sieht man auch schon was ich noch vorhab. Ist aber noch nicht fertig :) Also es wird noch dynamisch.

Nur warum wird das Bild immernoch nicht angezeigt ?
Gehe ich direkt auf die statusbar.php kommt wider der Fehler, das Bild sei fehlerhaft :(
 
Zuletzt bearbeitet:
Super Danke !! Hab es jetz mit deiner Hilfe hinbekommen das das PNG angezeigt wird.

Das seltsame ist, das Bild wird nur angezeigt wenn ich die Zeile
PHP:
 $im_0 = ImageCreateFromPNG('logo_athletic_cup_farbig.png');
auskommentiere. Sobald ein zweites ImageCreate dazukommt, erscheint wieder der Fehler das das Bild fehlerhaft ist.

Das Problem. Mit dem Script möcht ich in der Vollendung gerne nen Statusbalken aus 2 png's ( 0 %, 100% ) anzeigen lassen und mit php die bilder so schneiden lassen das es so aussieht als wäre es ein Statusbalken.

Wie krieg ich das denn hin ohne ein zweites ImageCreate einzusetzen ?

Nochmal super Danke für den Supi Support bisher.
Voll klasse !! :)
 
Zuletzt bearbeitet:
Hi,

Das seltsame ist, das Bild wird nur angezeigt wenn ich die Zeile
PHP:
 $im_0 = ImageCreateFromPNG('logo_athletic_cup_farbig.png');
auskommentiere. Sobald ein zweites ImageCreate dazukommt, erscheint wieder der Fehler das das Bild fehlerhaft ist.

dann musst Du halt debuggen.

Lass mal probehalber den Header weg. Steht da vielleicht eine Fehlermeldung mit in der Ausgabe? Alternativ kannst Du es mal mit der Debug-Methode versuchen, wie in der Doku zu [phpf]imagecreatefrompng[/phpf] vorgeschlagen.

Aus der Ferne kann Dir niemand sagen, was da schief läuft.

LG
 
Zurück