Voici la classe que j'ai jusqu'à présent:J'essaie de comprendre comment écrire une classe qui affiche gd une chaîne dans tout type de police
<?php
class txt2img {
var $image;
var $headertype;
var $forecolor;
var $fontsize;
var $fontangle;
var $font;
var $string;
//font size
function fontsize($fontsize) {
return $this->fontsize;
}
//forecolor
function forecolor($forecolor) {
return this->imagecolorallocate($this->img(),$this->forecolor);
}
//image file
function img($image) {
return imagecreatefrompng($this->img);
}
function display($string,$font) {
//display all errors
ini_set("display_errors", "1");
error_reporting(E_ALL);
header('content-type: image/png');
$fcolor = $this->forecolor();
imagettftext($this->img(),$this->fontsize(),0,0,$this->forecolor(),$this->font,$this->string);
imagejpg($this->img());
imagedestroy($this->img());
}
}
?>
Quelqu'un a une idée? Soit il est tard ou je ne sais pas, pour une raison quelconque je me sens vide en écrivant celui-ci.
Je veux être capable d'écrire les attributs d'abord comme
$gd = new gd;
$gd->fontsize('12');
//..etc
alors la sortie réelle serait écrit comme ceci
$gd->display('this is my string','myfont.ttf');
merci mais pensez-vous que ce serait possible une fois que j'aurais cette chose de travail? comme dire si j'ai quelques onglets et pour chaque onglet exécuter la fonction de la classe et la sortie d'une chaîne de police personnalisée? – SarmenHB
Oui, pourquoi pas? Chaque onglet est une nouvelle session pour le serveur web, donc une nouvelle copie de votre 'truc'. Et si vous voulez avoir beaucoup d'img vous devriez init cette classe avec un nouveau nom $ one = new txt2img(); $ two = new txt2img() De cette façon, vous obtenez différents objets. – lfx