begin process at 2012 05 31 03:06:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Librairire GD


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Librairire GD

jeudi 18 mai 2006 à 10:48:46 | Librairire GD

boulika

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);

// 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 = 'Mon texte';
// Replace path by your own font path
$font = "C:\WINDOWS\Fonts\"".$file."";

// 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);


       }
   }
   closedir($handle);
}
?>


jeudi 18 mai 2006 à 11:04:11 | Re : Librairire GD

sidf

salut
dejà
if ($handle == opendir('C:\WINDOWS\Fonts'))

et peut etre
$font = "C:\WINDOWS\Fonts\".$file;
jeudi 18 mai 2006 à 11:07:01 | Re : Librairire GD

boulika

Ca marche encore moins ;)
jeudi 18 mai 2006 à 11:09:32 | Re : Librairire GD

sidf

ah
mais ça ç'est pourtant incorrect
if ($handle = opendir('C:\WINDOWS\Fonts')) non ?
jeudi 18 mai 2006 à 11:12:25 | Re : Librairire GD

boulika

non car je défini ma variable $handle je ne la teste pas
jeudi 18 mai 2006 à 11:14:27 | Re : Librairire GD

sidf

ah ok

il ne te reste plus qu'à faire des echo un peu partout
pour voir le contenu de tes variables
je ne vois pas...
jeudi 18 mai 2006 à 11:16:54 | Re : Librairire GD

boulika

ca fait quelques heures que je me prend la tete dessus.
je connais pas bien la librairire GD
jeudi 18 mai 2006 à 12:43:12 | Re : Librairire GD

juki_webmaster

Membre Club
Salut,

Code corriger:

<?php
function valid_ext($file) {
$ext = strtolower(strrev(strstr($file,'.')));
if ($ext == 'ftt.') return true;
else return false;
}

if ($handle = opendir('C:\\WINDOWS\\Fonts')) {
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != ".." && valid_ext($file)) {
          
// header("Content-type: image/jpeg");
// Pour du PNG, il faut: image/png

$im = imagecreatetruecolor(400, 30);

$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);

$text = 'Mon texte';

$font = 'C:\\WINDOWS\\Fonts\\'.$file;

imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

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

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).

Bon courage.
jeudi 18 mai 2006 à 13:59:36 | Re : Librairire GD

boulika

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 ?

Encore merci
jeudi 18 mai 2006 à 14:13:31 | Re : Librairire GD

juki_webmaster

Membre Club
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]
..

imagettftext($im, 20, 0, 11, $y+1, $grey, $font, $text);

imagettftext($im, 20, 0, 10, $y, $black, $font, $text);

..
$y+=25; // incrementation
[BOUCLE]

imagepng()
imagedestroy()

Je n'ait pas du tout tester, mais voila à qoui ressemblerais ton code.


Cette discussion est classée dans : text, font, file, image, im


Répondre à ce message

Sujets en rapport avec ce message

génération d'image [ par noyoug ] NoyougCe script me génère des hiéroglyphes à la place de mon image.Qqun a-t-il une explication ?La fonction header me génère aussi un warning.header ( Impossible de créer une image [ par nougitch ] Bonjour,Je suis sous EasyPhp v.1.8 et impossible de générer la moindre image avec ce code de test :$im = @ ImageCreate ( 150, 100) or die ( "Cannot cr Upload image [ par DonDiego32 ] Salut! J'ai un soucis avec un formulaire d'upload d'image. Je débute, et j'ai donc repris des tutoriaux pour débutants...mais là je coince! J'ai un c affichage d'une image [ par refkaben ] Bonjour,Je developpe un site ou les utilisateurs ont un formulaire, dans lequel il va donner le chemin d'une image, cette image sera upploadée, puis a Pb avec un chatbox [ par newbieflag ] Voici le chatbox que j'ai emprunté sur une source...seul problème les messages s'effacent au bout de quelques heures...comment empêcher ça??? voici le affichage de vignettes [ par bidoubidou ] Bonjour a tous, je suis nouveau dans le coin, et dans la programmation tout court, je souhaite générer un affaichage de vignettes à la volée pour un s taille de font en fonction de la hauteur de l image... [ par Teclis01 ] Bonsoir,J'ai quelques soucis pour creer une taille de police en fonction de la hauteur de l image...je m'explique:quand j ai 6 ligne a ecrire sur une Move_uploaded_file probleme avec le nom du fichier uploader [ par needle ] Salut à tous,j'avais fait un page d'upload de photos qui marchait nickel et j'avais pris la précaution de n'autoriser, pour le nouveau nom de la photo Couper Image a l'aide SVP [ par christ_sand ] Voila je voudrai couper le bandeau de mon image pour la metttre dans la galerie photo mais le prob c que je coupe le Bas et pas le hau je vous remerci image de font de texte [ par ybouane ] salut j'ai un gros problème je recherche une fonction ou un code ou on peut mettre un texte avec une image a la place d'une couleurs comme celle ci:  


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales