Le 14/03/2012 11:55,
geno...@gmail.com a écrit :
>> Choisir une autre police que la police par défaut (de préférence, une
>> police TrueType pour pouvoir choisir n'importe quelle taille).
>
> Oui mais comment, la fonction load du module GD ne fonctionne pas (GD::Font->load) ça génère systématiquement un out of memory.
>
> J'ai testé stringFT, mais perl arrête incessamment de fonctionner, je ne sais pas pourquoi.
>
> Autre souci, les textes accentués ne passent pas. Vu que je récupère automatiquement les textes, qu'elle est l'encodage du texte dans le module GD afin que je puisse gérer cela facilement.
>
D'après la doc, la bibliothèque gd utilise utf8 comme codage pour les
caractères.
Est-ce que le script suivant vous donne une image png avec le texte en
Arial 24pt en rouge avec les caractères accentués et une inclinaison de
30° ?
#!/usr/bin/perl
use strict;
use warnings;
use GD;
use GD::Text::Align;
GD::Text->font_path('C:/Windows/Fonts'); # Répertoire des fontes ttf
my $PI = 3.1415926;
my $gd = GD::Image->new(800,600);
my $white = $gd->colorAllocate(255,255,255);
my $red = $gd->colorAllocate(255,0,0);
my $black = $gd->colorAllocate(0,0,0);
my $align = GD::Text::Align->new($gd,
valign => 'top',
halign => 'left',
color => $red,
text => 'Caractères accentués é ç à è ù ê ü ï É Ç À È Ù Ê Ü Ï',
font => 'Arial',
ptsize => 24,
);
$align->draw(50, 500, $PI/6);
open my $IMG, '>', "img.png" or die $!;
binmode $IMG;
print $IMG $gd->png();
close $IMG;
__END__
HTH
--
J-L
http://www.bribes.org/perl