Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

perl-magick : segfault dans Annotate

1 réponse
Avatar
Tonton Th
Bonjour

Je tente vainement d'écrire du texte dans une image, à
partir de la doc :
http://www.imagemagick.org/script/perl-magick.php

L'image source est une png rgb 24 bits, on ne peut
plus classique : elle sort d'un convert.

==========================================
#!/usr/bin/perl -w
use strict;
use Image::Magick;

my $x;
my $image = Image::Magick->new;

$x = $image->Read("essai.png");
die "$x" if "$x";

$x = $image->Write("aaaa.png");
die "$x" if "$x";

$image->Annotate( font=>"tahoma.ttf", pointsize=>10,
x=>20, y=>20,
fill=>'white', text=>"foo");
==========================================

La comparaison de l'image source et de l'image "aaaa.png"
m'indique quand même qu'il y a des trucs qui marchent :)

Par contre, pour le Annotate, rien à faire, j'ai essayé pas
mal de trucs, genre changer l'ordre des paramètres, mais
j'ai toujours un segfault.

Si quelqu'un a une idée...

==========================================
Core was generated by `/usr/bin/perl -w ./toto.pl'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __GI___libc_realloc (oldmem=0x1, bytes=4099) at malloc.c:2977
2977 malloc.c: No such file or directory.
(gdb) back
#0 __GI___libc_realloc (oldmem=0x1, bytes=4099) at malloc.c:2977
#1 0xb711f320 in ResizeMagickMemory ()
from /usr/lib/i386-linux-gnu/libMagickCore-6.Q16.so.2
#2 0xb711f396 in ResizeQuantumMemory ()
from /usr/lib/i386-linux-gnu/libMagickCore-6.Q16.so.2
#3 0xb71a9c8e in CloneString ()
from /usr/lib/i386-linux-gnu/libMagickCore-6.Q16.so.2
#4 0xb7329988 in ?? ()
from /usr/lib/i386-linux-gnu/perl5/5.20/auto/Image/Magick/Q16/Q16.so
#5 0x080f1594 in Perl_pp_entersub ()
#6 0x080ea277 in Perl_runops_standard ()
#7 0x0807f64a in perl_run ()
#8 0x0805ee7a in main ()
==========================================

Linux ds23 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt11-1+deb8u4
(2015-09-19) i686 GNU/Linux


This is perl 5, version 20, subversion 2 (v5.20.2) built forr
i586-linux-gnu-thread-multi-64int

ImageMagick 6.8.9-9 Q16 i586 2015-01-05


--
------ http://la.buvette.org/photos/myrys/20ans/fx/mvavrg.avi ------

I'm <tth> on freenode. Film at 11, take your popcorn.

1 réponse

Avatar
Nicolas George
Tonton Th , dans le message
, a écrit :
Je tente vainement d'écrire du texte dans une image, à
partir de la doc :
http://www.imagemagick.org/script/perl-magick.php



Pour dessiner dans une image, je recommanderais plutôt Cairo qu'ImageMagick.

Il a le défaut de ne savoir charger et sauver directement que du PNG, donc
pour d'autres formats il faut ruser un petit peu, typiquement avec
GdkPixbuf, mais pour l'exemple que tu montres ça va. Et puis il manipule
directement les formats vectoriels, ce qui est un gros avantage.

Par contre, pour le Annotate, rien à faire, j'ai essayé pas
mal de trucs, genre changer l'ordre des paramètres, mais
j'ai toujours un segfault.



Chez Moi Ça Marche(tm), donc je dirais que c'est juste un bug dans ta
version d'Perl Magick.