kostenloser Webspace werbefrei: lima-city


ttf-Schrift in Bild einfügen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    d**********r

    Hallo, ich habe folgendes Problem: Ich will in ein angegebenes Bild eine Schrift einbauen und zwar mit eigener Font und Gr??e.

    Mein Code:
    if ($_GET['mode'] == 'menu_headline') {
    
    	$bgimage = $_GET['picture'];
    	
    	$image_info = getimagesize('../templates/'.$_SESSION['TEMPLATE_USED'].'/'.$_SESSION['lang_template'].'/image/template/'.$bgimage);
    	
    	$width = $image_info[0];
    	$height = $image_info[1];
    
    	switch($image_info) {
    		
    		case 'image/gif':
    		
    			$h_bg = imagecreatefromgif('../templates/'.$_SESSION['TEMPLATE_USED'].'/'.$_SESSION['lang_template'].'image/template/'.$bgimage);
    
    			break;
    			
    		case 'image/jpeg':
    		
    			$h_bg = imagecreatefromjpeg('../templates/'.$_SESSION['TEMPLATE_USED'].'/'.$_SESSION['lang_template'].'image/template/'.$bgimage);
    
    			break;
    			
    		case 'image/png':
    		
    			$h_bg = imagecreatefrompng('../templates/'.$_SESSION['TEMPLATE_USED'].'/'.$_SESSION['lang_template'].'image/template/'.$bgimage);
    
    			break;
    			
    	}
    	
    	$font = '../templates/fonts/'.$_GET['font'];
    	
    	if ($_GET['y'] == 'center') {
    	
    		$width_text = imagettfbbox($_GET['size'], 0, $font, $_GET['text']);
    		
    		$pos_y = ($heigth-$width_text[1])/2; 
    	
    	}
    	
    	elseif (is_int($_GET['y'])) {
    	
    		$pos_y = $_GET['y']; 
    	
    	}
    	
    	if ($_GET['x'] == 'center') {
    	
    		$width_text = imagettfbbox($_GET['size'], 0, $font, $_GET['text']);
    		
    		$pos_x = ($width-$width_text[0])/2; 
    	
    	}
    	
    	elseif (is_int($_GET['x'])) {
    	
    		$pos_x = $_GET['x']; 
    	
    	}
    	
    	$textcolor = imagecolorallocate($h_bg, $_GET['color_r'], $_GET['color_g'], $_GET['color_b']); //Zeile 67
    	
    	imagettftext($h_bg, $_GET['size'], 0, $pos_x, $pos_y, $textcolor, $font, $_GET['text']); //Zeile 69
    				
    	header("Content-type: image/jpeg");
    	
    	imagejpeg($h_bg);//Zeile 73
    
    }


    Folgende Fehler treten auf:

    Warning: imagecolorallocate(): supplied argument is not a valid Image resource in C:\XAMPP\xampp\htdocs\Homepage\actions\picture_build.php on line 67

    Warning: imagettftext() expects parameter 1 to be resource, null given in C:\XAMPP\xampp\htdocs\Homepage\actions\picture_build.php on line 69

    Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\XAMPP\xampp\htdocs\Homepage\actions\picture_build.php on line 73

    Die Zeilen sind oben markiert.

    Die Datei wird folgenderma?en aufgerufen:
    [http://]localhost/homepage/actions/picture_build.php?mode=menu_headline&picture=menu_links_headline.jpg&font=schrift.TTF&y=5&x=center&size=15&color_r=255&color_g=255&color_b=255&text=a

    Alle Angaben stimmen in der URL!

    An was liegt es, dass st?ndig die genannten Fehler auftreten?!

    mfg



    Beitrag ge?ndert am 15.01.2006 19:31 von danielkuhner
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. c*********c

    Dein switch-Anweisung l?sste die M?glichkeit offen, dass ?berhaupt kein Bezeichner auf ein Bild zur?ckgegeben wird. Somit kann es passieren, dass beim sp?teren Zugriff auf besagte Variable ein Fehler auftritt. Um dem entgegen zu wirken, solltest du zuk?nftig bei derartigen (will heisse: dermassen auf Variablen angewiesen) Scripts, Variablen auf ihre G?ltigkeit hin ?berpr?fen.
  4. Autor dieses Themas

    d**********r

    Hi, das bei switch noch etwas offen ist, ist klar. Und dass ich die ganzen Variablen rr?fen muss ist ebenfalls klar. Die Frage war allerdungs, ob jemand wei?, weshalb die Fehler auftreten. Die ?bergebenen Variablen sind 100%ig richtig.


    Hat sich erledigt:

    So sollte es sein:

    switch($image_info['mime']) {


    So wars:
    switch($image_info) {



    Beitrag ge?ndert am 16.01.2006 15:32 von danielkuhner
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!