OVH Cloud OVH Cloud

creation image avec texte

3 réponses
Avatar
lolodev
bj

voici mon code:
my $im =3D new GD::Image();
my $blue =3D $im->colorAllocate(255,255,255);
open (IMG,$config{'image_upload_dir'}."/".$form{"image$i"});
#binmode(IMG);
my $image =3D newFromJpeg GD::Image(IMG) or die;
($width,$height) =3D $image->getBounds();
$image->string(gdSmallFont,10,10,"EUPHOLIS",$blue);
# make sure we are writing to a binary stream
#binmode STDOUT;
# Convert the image to PNG and print it on standard output
#print $image->jpeg;
print IMG $image -> jpeg ( );
close IMG;

j'essaies =E0 partir d'une image d=E9j=E0 cr=E9=E9e dans le rep;
$config{'image_upload_dir'}, de l'ouvrir, ajouter une signature texte
puis la sauvegarder avec le mem nom que la precedente.
L'ajout graphique de la signature fonctionne mais la sauvegadre du
fichier ne fonctionne pas t je ne vois pas ... merci pour une piste ???

3 réponses

Avatar
jl_morel
Dans l'article ,
a dit...

voici mon code:
my $im = new GD::Image();
my $blue = $im->colorAllocate(255,255,255);
open (IMG,$config{'image_upload_dir'}."/".$form
{"image$i"});

#binmode(IMG);
my $image = newFromJpeg GD::Image(IMG) or die;
($width,$height) = $image->getBounds();
$image->string(gdSmallFont,10,10,"EUPHOLIS",$blue);
# make sure we are writing to a binary stream
#binmode STDOUT;
# Convert the image to PNG and print it on standard output
#print $image->jpeg;
print IMG $image -> jpeg ( );
close IMG;

j'essaies à partir d'une image déjà créée dans le rep;
$config{'image_upload_dir'}, de l'ouvrir, ajouter une signature texte
puis la sauvegarder avec le mem nom que la precedente.
L'ajout graphique de la signature fonctionne mais la sauvegadre du
fichier ne fonctionne pas t je ne vois pas ... merci pour une piste ???



Juste une piste donnée par le compilateur :

Filehandle IMG opened only for input at ...


Vieux proverbe de programmation :

Aide-toi (avec use strict) et le compilateur t'aidera.

--
J-L.M.
http://www.bribes.org/perl

Avatar
Jacques Caron
Salut,

On Sun, 22 Jan 2006 10:17:56 +0100, lolodev
wrote:

voici mon code:
my $im = new GD::Image();
my $blue = $im->colorAllocate(255,255,255);
open (IMG,$config{'image_upload_dir'}."/".$form{"image$i"});
#binmode(IMG);
my $image = newFromJpeg GD::Image(IMG) or die;
($width,$height) = $image->getBounds();
$image->string(gdSmallFont,10,10,"EUPHOLIS",$blue);
# make sure we are writing to a binary stream
#binmode STDOUT;
# Convert the image to PNG and print it on standard output
#print $image->jpeg;
print IMG $image -> jpeg ( );
close IMG;

j'essaies à partir d'une image déjà créée dans le rep;
$config{'image_upload_dir'}, de l'ouvrir, ajouter une signature texte
puis la sauvegarder avec le mem nom que la precedente.
L'ajout graphique de la signature fonctionne mais la sauvegadre du
fichier ne fonctionne pas t je ne vois pas ... merci pour une piste ???


Comme déjà indiqué, IMG est ouvert en lecture seule. Et même s'il était en
lecture/écriture, tu écrirais la nouvelle version à partir du pointeur de
fichier courant, qui se trouve à la fin de l'image lue. Il convient donc
soit de fermer le fh IMG et de rouvrir en écriture (en tronquant le
fichier, pas en append, bien sûr), soit d'ouvrir en lecture/écriture et
penser à revenir au début du fichier (avec seek).

Jacques.
--
Oxado http://www.oxado.com/

Avatar
lolodev
oups je comprends bien le sens du texte, mais je ne vois pas en terme
d'instructions PERL ce que celà implique:
j'ai lu qu'il fallait ecrire OPEN (>> pour ouvrir en lecture/ecriture
un fichier mais ça ne fcte pas non plus ...
c quoi le fh IMG ? je dois utiliser la commande seek ? merci