boulika
Messages postés58Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention30 octobre 2009
-
18 mai 2006 à 10:48
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 2008
-
18 mai 2006 à 14:13
Bonjour,
Je viens de faire un code qui scan en local toutes les polices et qui fait un apercu des polices sous forme d'une image générée .
Mais mon code à des erreures mais je ne vois pas ou .
Donc si quelqu'un peut m'aider . Merci
<?php
if ($handle = opendir('C:\WINDOWS\Fonts')) { while (false !($file readdir($handle))) {
if ($file != "." && $file != "..") {
header("Content-type: image/jpeg");
// Create the image
$im = imagecreatetruecolor(400, 30);
imagepng($im,'exemple_'.str_replace('.','_',$file).'.png'); // ont enrengistrer au format PNG
imagedestroy($im); // ont alloue de la memoire (free)
}
}
closedir($handle);
}
?>
Parcontre, si tu souhaite tout afficher sur une image,
Alors:
- header('Content-type: image/png'); est à mettre TOUT au debut du script
- imagecreatetruecolor() doit venir APRES header('..');
- Augmenter la taille de l'image principal pour qu'elle puissent contenir toutes les polices.
- imagepng() imagedestroy() est à mettre TOUT à la fin du script
Pour cela tu auras besoin de faire quelques calculs: - la taille du font, et à chaque boucle tu doit incrementer la hauteur du font avec un espace pour les aligners verticalement.
En claire, c'est plus simple de tout decouper en fichiers contenant chacune une police.
Note, $white = imagecolorallocate($im, 255, 255, 255); et imagefilledrectangle($im, 0, 0, 399, 29, $white); ne servent pas à grande chose: une image GD est par defaut: blanche (#FFFFFF).
boulika
Messages postés58Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention30 octobre 2009 18 mai 2006 à 13:59
Ecoutes ben que te dires que 1000 mercis a toi ca marche tres bien tout ca .
Par contre comment faire pour ne pas créer une image en dur et la laisser virtuelle ?
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 18 mai 2006 à 14:13
Là c'est en boucle, tu peux ne poura pas avoir 10 images d'affiler en boucle qui s'affiche (c'est pour sa que je te les ait enrengistrer), tu poura qu'avoir une seul image par fichier (ton navigateur ce dira que ceci est une image, et UNE SEUL):
(en schema:)
header('Content-type: image/png');
imagecreatetruecolor() // calculer la nouvelle HAUTEUR d'elle pour contenir touts les fonts
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
$text = 'Mon texte';
$y = 25; // hauteur, disont que la hauteur d'une police est 20 (+5 pour espacer)
[BOUCLE]
..