Font, Size en Schaduw

  • Onderwerp starter Onderwerp starter xBart
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

xBart

Gebruiker
Lid geworden
4 jan 2013
Berichten
34
Goedenavond,

Ik heb dit stukje PHP:
PHP:
<?php

 

//Carregar imagem
$img = $_GET['type'];

$rImg = ImageCreateFromJPEG($img);


//Definir cor

$cor = imagecolorallocate($rImg, 255, 255, 255);

//Escrever nome

imagestring($rImg,5,20,250,urldecode($_GET['name']),$cor);
imagestring($rImg,5,20,200,urldecode($_GET['name2']),$cor);

 

//Header e output

header('Content-type: image/jpeg');

imagejpeg($rImg,NULL,100);

?>

Ik zou graag dat name en name2 een font, size en schaduw krijgen? Hoe moet ik dit doen in PHP?

Mvg, Bart
 
Volgens mij verwijst jouw link naar een functie om een tekst om te zetten naar een image.

Natuurlijk is er niemand die je tegen houdt om het zo enorm moeilijk te gaan doen terwijl het vele malen simpeler kan door gewoon opmaak aan te brengen op de bestaande teksten.
Ik neem aan dat wanneer je kunt Googlen DAT het kan dat je dan ook wel kunt Googlen HOE het kan.


Succes,
 
@gast0158 natuurlijk kan het in html en css, maar de vraag is hoe dat in php moet. Daar is niks "moeilijks" aan; het is een alternatieve manier om hetzelfde resultaat te bewerkstelligen, en omdat er verder geen achtergrondinformatie wordt gegeven over waarom het in php gedaan moet worden kan je óf daarnaar vragen, óf zonder botheid erop wijzen dat het gebruikelijker is om het met html en css te doen.

@Bart je hebt de juiste functie gevonden wat betreft het gebruiken van een ander lettertype :) je moet imagettftext gebruiken in plaats van imagestring, en letten op de extra parameter "fontfile" waarin je wijst naar het .ttf-bestand van het lettertype dat je wil gebruiken.

Voor het maken van een schaduw moet je een beetje "cheaten". Je kan bijvoorbeeld ervoor kiezen om je tekst eerst in het grijs neer te zetten, een klein beetje verschoven naar boven/onder en naar links/rechts, en dan daaroverheen in de eigenlijke kleur nog eens dezelfde tekst. Je krijgt dan het effect van een schaduw. In het codevoorbeeld in de documentatie wordt dat ook zo gedaan:

PHP:
<?php
// Set the content-type
header('Content-Type: image/png');

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan