GD library tekst

Status
Niet open voor verdere reacties.

sjoerdjek

Gebruiker
Lid geworden
6 dec 2010
Berichten
54
Hallo allemaal

ik ben bezig met een code om een plaatje over plaatje te zetten ( dat heb ik al )

maar nu wil ik dat er ook tekst bij komt...
heb al verscheidene dingen geprobeerd maar kom er echt niet uit

dit is mijn code:

PHP:
		<?php 
			$folder = 'covers/';
			$name= $_FILES["background"]["name"];
   			$temp= $_FILES["background"]["tmp_name"];
   			$size= $_FILES["background"]["size"];
   			$watermerk = imagecreatefrompng("cover.png"); //moet png zijn + png-8 format
   			
   			if(isset($_POST['submit'])){
			    if  ((strtolower(substr($name, -3)) == "jpg" || strtolower(substr($name, -4)) == "jpeg")){

			    	//--- upload image naar $folder
				    move_uploaded_file($temp, $folder . $name);
				
				    //--- transparante watermerk
				    $watermerk_width = imagesx($watermerk);
				    $watermerk_height = imagesy($watermerk);
				    imagecreatetruecolor($watermerk_width, $watermerk_height);
				
				    //--- achterhaal de eigenschappen van de foto
				    list($breedte, $hoogte, $image_type) = getimagesize($folder . $name);
				    		    
				    //--- bereken op basis van de raio de nieuwe hoogte
			        $rs_breedte = '400';
			        $rs_hoogte = '550';
	
				    //--- maak resize image aan in het geheugen
				    $resize = imagecreatetruecolor($rs_breedte, $rs_hoogte);
				    //--- bron om te resizen
				    $source = imagecreatefromjpeg($folder . $name);
				    //--- foto resize
				    imagecopyresized($resize, $source, 0, 0, 0, 0, $rs_breedte, $rs_hoogte, $breedte, $hoogte);
				    // foto opslaan
				    imagejpeg($resize, $folder . $name);
				    
				    $image = imagecreatefromjpeg($folder . $name);
				    $size = getimagesize($folder . $name);
				
				   			   
				    //--- dit is voor rechts boven
				    $xas = $size[0] - $watermerk_width - 0;
				    $yas = 0;
				
				    //--- overschrijf het 'geuploade bestand' en voeg watermerk toe
				    imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
				
				    //--- upload image
				    imagejpeg($image, $folder . $name); // max. kwaliteit
				
				    imagedestroy($image);
				    imagedestroy($watermerk); 
					echo '<img src="'. $folder . $name .'">';
			    }
			    else{
			 		echo 'Dit bestand kon niet geupload worden, je mag alleen jpg of jpeg bestanden uploaden!';	
			    }
   			}		
			
   			else{
				echo 'kies een afbeelding';
			}
		?>
 
Ik zie geen code om tekst te plaatsen?

Heb je de functie imagettftext() al gevonden? Die is om tekst op een plaatje te zetten.
 
Nee dat klopt want dis is mijn code om een foto over foto te doen.

maar ik moet er ook tekst bij hebben
imagettftext() heb ik al geprobeerd ik kwam er niet uit hoe kan ik het beste gebruiken dan bij deze code?
 
ik ben bezig geweest met wat je zei ( imagettftext()

heb ik nu dit:

PHP:
<?php 
			$folder = 'covers/';
			$name= $_FILES["background"]["name"];
   			$temp= $_FILES["background"]["tmp_name"];
   			$size= $_FILES["background"]["size"];
   			$watermerk = imagecreatefrompng("cover.png"); //moet png zijn + png-8 format
   			
   			if(isset($_POST['submit'])){
			    if  ((strtolower(substr($name, -3)) == "jpg" || strtolower(substr($name, -4)) == "jpeg")){

			    	//--- upload image naar $folder
				    move_uploaded_file($temp, $folder . $name);
				
				    //--- transparante watermerk
				    $watermerk_width = imagesx($watermerk);
				    $watermerk_height = imagesy($watermerk);
				    imagecreatetruecolor($watermerk_width, $watermerk_height);
				
				    //--- achterhaal de eigenschappen van de foto
				    list($breedte, $hoogte, $image_type) = getimagesize($folder . $name);
				    		    
				    //--- bereken op basis van de raio de nieuwe hoogte
			        $rs_breedte = '400';
			        $rs_hoogte = '550';
	
				    //--- maak resize image aan in het geheugen
				    $resize = imagecreatetruecolor($rs_breedte, $rs_hoogte);
				    //--- bron om te resizen
				    $source = imagecreatefromjpeg($folder . $name);
				    //--- foto resize
				    imagecopyresized($resize, $source, 0, 0, 0, 0, $rs_breedte, $rs_hoogte, $breedte, $hoogte);
				    // foto opslaan
				    imagejpeg($resize, $folder . $name);
				    
				    $image = imagecreatefromjpeg($folder . $name);
				    $size = getimagesize($folder . $name);
				
				   			   
				    //--- dit is voor rechts boven
				    $xas = $size[0] - $watermerk_width - 0;
				    $yas = 0;
					
				    //--- overschrijf het 'geuploade bestand' en voeg watermerk toe
				    imagecopymerge($image, $watermerk, $xas, $yas, 0, 0, $watermerk_width, $watermerk_height, 100);
					
		    //--- tekst
    		$color = imagecolorallocate($image, 0, 0, 0);
   			$text = 'Testing...';
   			$font = 'arial.ttf';
   					
				    
			imagettftext($image, 20, 0, 10, 20, $color, $font, $text);
				    //--- upload image
				    imagejpeg($image, $folder . $name); // max. kwaliteit
				
				    imagedestroy($image);
				    imagedestroy($watermerk); 
					echo '<img src="'. $folder . $name .'">';
			    }
			    else{
			 		echo 'Dit bestand kon niet geupload worden, je mag alleen jpg of jpeg bestanden uploaden!';	
			    }
   			}		
			
   			else{
				echo 'kies een afbeelding';
			}
		?>

ik heb de code die ik er in heb geplaatst met opzet even er uit gesprongen :P
 
Laatst bewerkt:
gelukt :D
heb :
imagettftext($image, 20, 0, 10, 20, $color, $font, $text);

vervangen door:
imageString($image, 10, 5, 25, $text, $color);
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan