Aller au contenu

Ole noob :D


Bowser

Messages recommandés

<?php
header("Content-type: image/png");

//$im = imagecreatetruecolor(350, 20); *Devient inutile car ici tu crééait un objet image(vide) alors que tu veux toi travailler avec une image existante
$im = imagecreatefrompng("https://preprod.metagames.fr/forums/images/logo.png"); //j'ai changer le nom de la variable la flemme de tout changer ;D
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);


$text = 'Test...';

$font = 'D:\Site\EasyPHP\www\images\v.ttf'; // mettre le chemin absolue vers la font

imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
imagettftext($im, 20, 0, 10, 20, $black, $font, $text); // ombrage

imagepng($im); 
?>

 

Ca fonctionne ;)

Normal que tu n'obtenais que ton image, tu avais crée un objet $image_source, que tu affaichait brut, les modifications étaient faites sur $im.

 

toutes les methodes avant imagepng() servent à modifier ton objet image ($image_source ou $im ) et imagepng() sert jsutement à afficher l'image dans son ensemble c'est à dire ton image de départ et les modifications apportées.

Lien vers le commentaire
Partager sur d’autres sites

Ah ok je comprends mieux :jap:

 

Pour faire mon contour, je dois logiquement créer 2 textes identiques l'un par dessus l'autre, et logiquement agrandir d'un pixel celui de dessous.

 

La taille de la police, où je dois l'indiquer ? Quelle est la "norme" (cm, px, etc) .? j'ai lu quelques part qu'il faut la faire varier de 1 à 5 :

 

$police : c'est la police de caractères que vous voulez utiliser. Vous devez mettre un nombre de 1 à 5 : 1 = petit, 5 = grand
Je n'ai pas le $police dans le code, je peux le créer ? Le souçis c'est que ça marche avec la fontion imagestring, je ne sais pas pour le imagettftext
Lien vers le commentaire
Partager sur d’autres sites

Ralala ces jeunes PHP: imagettftext - Manual :D

 

array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )

Dessine le texte fourni avec une police TrueType.

Liste de paramètres

 

image Une ressource d'image, retourné par une des fonctions de création d'images, comme imagecreatetruecolor().

 

size La taille de la police. En fonction de la version de votre bibliothèque GD, elle doit être spécifiée en pixels (GD1) ou en points (GD2).

 

angle L'angle, en degrés ; 0 degré correspond à la lecture du texte de gauche à droite. Les valeurs positives représentent une rotation dans le sens contraire des aiguilles d'une montre. Par exemple, une valeur de 90 correspondra à une lecture du texte de bas en haut.

 

x Les coordonnées données par x et y définiront la position du premier caractère (le coin bas-gauche du caractère). Cela est différent de la fonction imagestring(), où x et y définissent le coin haut-gauche du premier caractère. Par exemple, "haut gauche" correspond à 0, 0.

 

y L'ordonnée Y. Cela définit la position de la ligne de base de la police, et non pas le bas des caractères.

 

color L'index de la couleur. Utiliser un index de couleur négatif désactivera l'antialiasing. Voir la fonction imagecolorallocate().

 

fontfile Le chemin vers la police TrueType que vous souhaitez utiliser.

Pour connaitre la version de GD tu fais un php_info() (tu met php_info() dans un fichier php et tu l'ouvre avec ton navigateur), et soit tu le colle ici soit tu regarde comme un grand :D
Lien vers le commentaire
Partager sur d’autres sites

Bizarre, j'ai fais ce que tu m'as dit :

 

Voici le code source de la page :

 

<?php
header("Content-type: image/png");
[color=Red]php_info()[/color]
//$im = imagecreatetruecolor(350, 20); *Devient inutile car ici tu crééait un objet image(vide) alors que tu veux toi travailler avec une image existante
$im = imagecreatefrompng("images/logo.png"); //j'ai changer le nom de la variable la flemme de tout changer ;D
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);


$text = '154521';

$font = 'D:\Site\EasyPHP\www\images\v.ttf'; // mettre le chemin absolue vers la font

imagettftext($im, 20, 0, 11, 21, $black, $font, $text);
imagettftext($im, 20, 0, 10, 20, $white, $font, $text); // ombrage


imagepng($im); 
?> 

 

Ca n'a rien changé... :heu:

 

Je vais essayer de régler la police :hot:

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

php_info();

 

Toujours un ";" à la fin d'une instruction :P, tu risque d'avoir une page pleine d'info evite d ele laisser au milieu de ton script :P

 

edit : M'enfin c'est pas tres important joue avec le 1er chiffre de la methode imagettftext() ca correspond à la taille :) (2e argument :P )

Lien vers le commentaire
Partager sur d’autres sites

Pfiu, on y arrive !

 

Voici la suite :

 

<?php

header("Content-type: image/png");

 

//$im = imagecreatetruecolor(350, 20); *Devient inutile car ici tu crééait un objet image(vide) alors que tu veux toi travailler avec une image existante

$im = imagecreatefrompng("images/logo.png"); //j'ai changer le nom de la variable la flemme de tout changer ;D

$white = imagecolorallocate($im, 255, 255, 255);

$black = imagecolorallocate($im, 0, 0, 0);

 

 

$text = 'Pseudo';

$text2 = '125-351-254-785';

 

$font = 'D:\Mes Sites\EasyPHP\www\images\v.ttf'; // mettre le chemin absolue vers la font

 

imagettftext($im, 9, 0, 2, 9, $black, $font, $text);

imagettftext($im, 9, 0, 1, 9, $black, $font, $text);

imagettftext($im, 9, 0, 3, 9, $black, $font, $text);

imagettftext($im, 9, 0, 2, 7, $black, $font, $text);

imagettftext($im, 9, 0, 1, 7, $black, $font, $text);

imagettftext($im, 9, 0, 3, 7, $black, $font, $text);

imagettftext($im, 9, 0, 2, 8, $white, $font, $text);

 

imagettftext($im, 9, 0, 2, 17, $black, $font, $text2);

imagettftext($im, 9, 0, 1, 17, $black, $font, $text2);

imagettftext($im, 9, 0, 3, 17, $black, $font, $text2);

imagettftext($im, 9, 0, 2, 19, $black, $font, $text2);

imagettftext($im, 9, 0, 1, 19, $black, $font, $text2);

imagettftext($im, 9, 0, 3, 19, $black, $font, $text2);

imagettftext($im, 9, 0, 2, 18, $white, $font, $text2); // ombrage

 

 

 

 

imagepng($im);

 

?>

 

 

Au lieu mettre une image par dessous, j'ai décuplé plusieurs fois et décalé à gauche, droite, haut et bas. le résultat est pas trop mal même si ça man que selon moi de netteté ! Tu crois qu'avec ta méthode, le rendu peut etre meilleur ?

Lien vers le commentaire
Partager sur d’autres sites

Pas sur que ma methode marche mieux, j'ai essayé de jouer avec la taille de la police mais c'est pas tres modulable, tron truc c'est pas bête j'y avais pas pensé.

 

Pour le rendu oui il ya un petit flou =s essaye en taille 8 ( d'apres mes test en taille 8 c'est impec ;p, la font visitor j'ai les meme probleme sous toshop avec certaines tailles elle est moche ( taille impaire j'pense ) )

Lien vers le commentaire
Partager sur d’autres sites

Effectivement, en 8, ça rend mieux !

 

Maintenant, je dois juste copier tout ce code sur une page HTML et ça roule ? :)

 

Voici mon code HTML :

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Generateur</title>

 

<style>

a {

color: black;

decoration: underline dashed;

}

a.menu { text-decoration:none ; }

a:hover {

color: #93C4FC;

text-decoration: underline;

}

a.menu:hover {

color: white;

-moz-border-radius-topright: 3px;

}

body {

background-image: url(../images/fond.gif);

}

</style><LINK REL="SHORTCUT ICON" HREF="">

 

<style type="text/css">

<!--

.Style5 {color: #000000; }

.Style6 {color: #0099FF}

a:link {

text-decoration: none;

}

a:visited {

text-decoration: none;

}

a:active {

text-decoration: none;

}

-->

</style>

</head>

 

<body>

 

<div align="center"></div>

<div align="center">

<table style="border: 1px solid rgb(113, 180, 250);" cellpadding="0" cellspacing="0" width="200">

<tbody><tr>

<td height="641"><div align="center">

<table border="0" cellpadding="0" cellspacing="0" width="650">

<tbody><tr>

<td width="650"><table border="0" cellpadding="0" cellspacing="0" width="650">

<tbody><tr>

<td height="112" bgcolor="#d4e8ff"> </td>

</tr>

</tbody>

</table> <table border="0" cellpadding="0" cellspacing="0" width="650">

<tbody><tr>

<td bgcolor="#93c4fc" height="538" valign="top" width="100"> </td>

<td align="center" bgcolor="#ffffff" valign="top" width="550"> </td>

</tr>

</tbody>

</table></td>

</tr>

</tbody></table>

 

 

</div></td>

</tr>

</tbody></table>

<center>

</center>

 

</div>

</body></html>

Lien vers le commentaire
Partager sur d’autres sites

euh nan, les pages php sont par default des pages html, en fait le php génère du html, un navigateur lira aussi bien un .php qu'un .html, mais pour que tes instructions soient prises en comptes la page doit être en .php (pour que le serveur comprene)

 

J'explique surement tres mal, mais en gros : qu'est-ce que tu veux faire ? :D

La mettre sur internet ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
  • Statistiques des membres

    23 028
    Total des membres
    1 033
    Maximum en ligne
    Subaru
    Membre le plus récent
    Subaru
    Inscription
  • Statistiques des forums

    128,1 k
    Total des sujets
    1,7 M
    Total des messages
×
×
  • Créer...