Je souhaite cr=E9er une image =E0 l'aide du module GD.
Je souhaiterai =E9crire du texte dans l'image mais aussi ins=E9rer une imag=
e externe dans l'image, comment faire ? Avez-vous une parade ou une id=E9e =
?
Je souhaiterai aussi que la police de mon texte soit plus grande que celle =
propos=E9e par le module GD, comment faire ?
Si je r=E9cup=E8re un fichier ttf sur mon PC Windows pour le font, mon prog=
ramme pourra t-il fonctionner si j'ex=E9cute le programme =E9galement sous =
Linux ou MAC avec ce m=EAme fichier ttf ?
Je souhaite créer une image à l'aide du module GD.
Pourquoi spécifiquement GD ?
genomart
Le mardi 13 mars 2012 17:33:08 UTC+1, Nicolas George a écrit :
, a écrit : > Je souhaite créer une image à l'aide du module GD.
Pourquoi spécifiquement GD ?
Car c'est un module simple à installer en automatique sur différentes p late-formes. Je sais qu'avec Image::Magick, je pouvais faire ce que je voul ais, mais pour cette fois-ci, ça ne m'arrange pas.
Je pense avoir trouvé ma solution en utilisant les constructeurs newFromP ng ou newFromJpeg qui permettent de créer un objet GD à partir de fichi ers externes. Ensuite, je peux travailler dessus ou les utiliser à ma con venance. Il me reste mon interrogation sur les polices.
Le mardi 13 mars 2012 17:33:08 UTC+1, Nicolas George a écrit :
<3415070.7672.1331655403273.JavaMail.geo-discussion-forums@vbtv42>, a
écrit :
> Je souhaite créer une image à l'aide du module GD.
Pourquoi spécifiquement GD ?
Car c'est un module simple à installer en automatique sur différentes p late-formes. Je sais qu'avec Image::Magick, je pouvais faire ce que je voul ais, mais pour cette fois-ci, ça ne m'arrange pas.
Je pense avoir trouvé ma solution en utilisant les constructeurs newFromP ng ou newFromJpeg qui permettent de créer un objet GD à partir de fichi ers externes. Ensuite, je peux travailler dessus ou les utiliser à ma con venance.
Il me reste mon interrogation sur les polices.
Le mardi 13 mars 2012 17:33:08 UTC+1, Nicolas George a écrit :
, a écrit : > Je souhaite créer une image à l'aide du module GD.
Pourquoi spécifiquement GD ?
Car c'est un module simple à installer en automatique sur différentes p late-formes. Je sais qu'avec Image::Magick, je pouvais faire ce que je voul ais, mais pour cette fois-ci, ça ne m'arrange pas.
Je pense avoir trouvé ma solution en utilisant les constructeurs newFromP ng ou newFromJpeg qui permettent de créer un objet GD à partir de fichi ers externes. Ensuite, je peux travailler dessus ou les utiliser à ma con venance. Il me reste mon interrogation sur les polices.
Paul Gaborit
À (at) Tue, 13 Mar 2012 09:16:43 -0700 (PDT), écrivait (wrote):
Je souhaite créer une image à l'aide du module GD.
Je souhaiterai écrire du texte dans l'image mais aussi insérer une image externe dans l'image, comment faire ? Avez-vous une parade ou une idée ?
Pour insérer une image dans une autre, la méthode 'copy' (ou l'une de ses variantes telles que copyResized, copyMerge, copyRotated...) est parfaite.
Je souhaiterai aussi que la police de mon texte soit plus grande que celle proposée par le module GD, comment faire ?
Choisir une autre police que la police par défaut (de préférence, une police TrueType pour pouvoir choisir n'importe quelle taille).
Si je récupère un fichier ttf sur mon PC Windows pour le font, mon programme pourra t-il fonctionner si j'exécute le programme également sous Linux ou MAC avec ce même fichier ttf ?
Un fichier ttf (TrueType) est utilisable sur n'importe quel système (si sa licence vous l'autorise).
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) Tue, 13 Mar 2012 09:16:43 -0700 (PDT),
genomart@gmail.com écrivait (wrote):
Je souhaite créer une image à l'aide du module GD.
Je souhaiterai écrire du texte dans l'image mais aussi insérer une
image externe dans l'image, comment faire ? Avez-vous une parade ou
une idée ?
Pour insérer une image dans une autre, la méthode 'copy' (ou l'une de
ses variantes telles que copyResized, copyMerge, copyRotated...) est
parfaite.
Je souhaiterai aussi que la police de mon texte soit plus grande que
celle proposée par le module GD, comment faire ?
Choisir une autre police que la police par défaut (de préférence, une
police TrueType pour pouvoir choisir n'importe quelle taille).
Si je récupère un fichier ttf sur mon PC Windows pour le font, mon
programme pourra t-il fonctionner si j'exécute le programme également
sous Linux ou MAC avec ce même fichier ttf ?
Un fichier ttf (TrueType) est utilisable sur n'importe quel système (si
sa licence vous l'autorise).
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) Tue, 13 Mar 2012 09:16:43 -0700 (PDT), écrivait (wrote):
Je souhaite créer une image à l'aide du module GD.
Je souhaiterai écrire du texte dans l'image mais aussi insérer une image externe dans l'image, comment faire ? Avez-vous une parade ou une idée ?
Pour insérer une image dans une autre, la méthode 'copy' (ou l'une de ses variantes telles que copyResized, copyMerge, copyRotated...) est parfaite.
Je souhaiterai aussi que la police de mon texte soit plus grande que celle proposée par le module GD, comment faire ?
Choisir une autre police que la police par défaut (de préférence, une police TrueType pour pouvoir choisir n'importe quelle taille).
Si je récupère un fichier ttf sur mon PC Windows pour le font, mon programme pourra t-il fonctionner si j'exécute le programme également sous Linux ou MAC avec ce même fichier ttf ?
Un fichier ttf (TrueType) est utilisable sur n'importe quel système (si sa licence vous l'autorise).
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
genomart
Pour insérer une image dans une autre, la méthode 'copy' (ou l'une de ses variantes telles que copyResized, copyMerge, copyRotated...) est parfaite.
Ok, mais il faut que l'image soit de type GD, donc je pense qu'il faille d' abord l'importer avec les méthodes newFromPng, newFromJpeg...
Choisir une autre police que la police par défaut (de préférence, u ne 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 n e 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.
Merci d'avance
Pour insérer une image dans une autre, la méthode 'copy' (ou l'une de
ses variantes telles que copyResized, copyMerge, copyRotated...) est
parfaite.
Ok, mais il faut que l'image soit de type GD, donc je pense qu'il faille d' abord l'importer avec les méthodes newFromPng, newFromJpeg...
Choisir une autre police que la police par défaut (de préférence, u ne
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 n e 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.
Pour insérer une image dans une autre, la méthode 'copy' (ou l'une de ses variantes telles que copyResized, copyMerge, copyRotated...) est parfaite.
Ok, mais il faut que l'image soit de type GD, donc je pense qu'il faille d' abord l'importer avec les méthodes newFromPng, newFromJpeg...
Choisir une autre police que la police par défaut (de préférence, u ne 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 n e 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.
Merci d'avance
Jean-Louis Morel
Le 14/03/2012 11:55, 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
Le 14/03/2012 11:55, genomart@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;
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
genomart
Merci Jean-Louis,
Je me suis tourné sur l'utilisation du module GD::Text::Align, et surtout GD::Text::Wrap et c'est parfait. Il faut que la doc du module GD soit remise à jour car sur ce point d'uti lisation des fontes, ce n'est pas terrible.
Sympa !!
Merci Jean-Louis,
Je me suis tourné sur l'utilisation du module GD::Text::Align, et surtout GD::Text::Wrap et c'est parfait.
Il faut que la doc du module GD soit remise à jour car sur ce point d'uti lisation des fontes, ce n'est pas terrible.
Je me suis tourné sur l'utilisation du module GD::Text::Align, et surtout GD::Text::Wrap et c'est parfait. Il faut que la doc du module GD soit remise à jour car sur ce point d'uti lisation des fontes, ce n'est pas terrible.