NoMethodError concernant RMagick sous debian

Bonjour à tous,

Après une bonne dizaine d’heures d’acharnement sur l’ami google, je
m’adresse à vous en espérant que votre vision me fasse avancer.

J’ai installé ImageMagick + Rmagick sur mon InstantRails et j’ai réussi
à faire quelques traitement d’image en dev. Je les ai également installé
sur mon serveur debian, en passant par les gems, puis par apt-get en
espérant résoudre mon problème. Lors de la migration dev vers serveur,
tout semble bien fonctionner jusqu’à l’exécution de ce code :

image = Magick::Image.read(“public/images/upload/#{id}tmp.jpg”).first
image =
image.watermark(Magick::Image.read(“public/images/design/logo.png”).first,
0.25, 0.0, Magick::SouthEastGravity)
image.write(“public/images/upload/#{id}.jpg”)

La deuxième ligne semble ne pas fonctionner :
NoMethodError: undefined method `watermark’ for
#Magick::Image:0xb7529c68

J’ai essayé (sous ruby/console) dissolve comme fonction qui me retourne
la même erreur. En revanche, des méthodes comme raise ou crop_resized
fonctionnent parfaitement.

Quelqu’un aurait-il rencontré le même souci?
Un énorme merci pour votre aide :slight_smile: Bonne nuit.

Florent


Quelques infos qui peuvent peut être aider :
InstantRails :
C:\InstantRails-2.0-win>rails -v
Rails 2.1.0
C:\InstantRails-2.0-win>ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

Debian :
kobra@r11747:/var/rails/eludom/current$ rails -v
Rails 2.2.2 (mis à jour post-erreur…)
kobra@r11747:/var/rails/eludom/current$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

Florent lebeau Flo wrote:

J’ai essayé (sous ruby/console) dissolve comme fonction qui me retourne
InstantRails :
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

As-tu la même version de RMagick et ImageMagick sur les deux machines ?


Cyril M.

Cyril M. wrote:

Florent lebeau Flo wrote:

J’ai essayé (sous ruby/console) dissolve comme fonction qui me retourne
InstantRails :
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

As-tu la même version de RMagick et ImageMagick sur les deux machines ?


Cyril M.
http://blog.shingara.fr

Bonjour Cyril,
Je me disais bien que j’avais oublié quelque chose d’important :slight_smile:

Sous Windows :
ImageMagick 6.4.5-3
RMagick 2.7.1

Sous Debian :
ImageMagick 6.4.6-5
RMagick 2.7.2

Difficile d’être vraiment synchrone entre les deux systèmes, mais je
n’ai rien trouvé sur d’éventuelles dépréciations de méthode entre les
deux versions.
Merci pour ton aide.

Florent

Florent wrote:

Cyril M. wrote:

Florent wrote:

J’ai essayé (sous ruby/console) dissolve comme fonction qui me retourne
InstantRails :
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

As-tu la même version de RMagick et ImageMagick sur les deux machines ?


Cyril M.
http://blog.shingara.fr

Bonjour Cyril,
Je me disais bien que j’avais oublié quelque chose d’important :slight_smile:

Sous Windows :
ImageMagick 6.4.5-3
RMagick 2.7.1

Sous Debian :
ImageMagick 6.4.6-5
RMagick 2.7.2

Difficile d’être vraiment synchrone entre les deux systèmes, mais je
n’ai rien trouvé sur d’éventuelles dépréciations de méthode entre les
deux versions.
Merci pour ton aide.

Florent

Salut,

J’ai une bonne et une mauvaise nouvelle!

La bonne : je suis arrivé à mes fins
Plutôt que d’écrire :
image = image.watermark(image2, 0.25, 0.0, gravity)

j’ai écris :
image = image.composite(image2, gravity, Magick::HardLightCompositeOp)

On peut utiliser composite!, appliquer shade à l’image2 etc…
Les liens qui m’ont permis d’obtenir ce résultat sont :
http://rmagick.rubyforge.org/watermark/watermark.html

http://www.imagemagick.org/RMagick/doc/constants.html#CompositeOperator
http://www.imagemagick.org/RMagick/doc/image1.html#composite

En espérant que ça aide quelqu’un un beau jour…

La mauvaise nouvelle : Je n’ai toujours pas compris pourquoi des
fonctions comme watermark et dissolve (pourtant présentes dans la doc
RMagick) ne fonctionnent pas sur ma config debian… Si quelqu’un a déjÃ
eu le problème et l’a résolu, je serai ravi de savoir comment.

Bonne journée.

Florent

Salut Frédéric,

Voyabt que la version avec apt-get me posait des problème, j’ai installé
cette version depuis la source (et j’ai les même soucis) =>

Aurais-je eu tord?

Bonne journée.

Florent

Frédéric Jay wrote:

Salut,

Une zone d’ombre au niveau de l’install de imagemagick ton serveur
Debian :
Avec apt-get tu n’as que la version 6.2.0 au maximum, comment tu fais
pour
avoir la 6.4.6-5 ?

Salut,

Une zone d’ombre au niveau de l’install de imagemagick ton serveur
Debian :
Avec apt-get tu n’as que la version 6.2.0 au maximum, comment tu fais
pour
avoir la 6.4.6-5 ?

Le 2 décembre 2008 14:14, Florent F. [email protected] a
écrit
:

Salut,

Je posais la question, parceque je me disais bien que ça ne pouvait pas
marcher avec un simple apt-get install.

Install imagemagick :
Pour info,
J’ai fait pareil que toi en suivant ce tuto (trés similaire) :
http://www.urbanpuddle.com/articles/2008/01/22/compile-imagemagick-for-rmagick-2-0-0-gem
Par contre, pour la version à installer, j’en ai essayé plusieurs, et
j’ai
rencontré des couacs.
Finalement, c’est la dernière (6.4.6-6) qui ne m’a posé aucun probleme.
Plutot long au niveau du “make”, mais derriere ça roxe bien comme il
faut.

Ton probleme :
Ca me semble cohérent si tu n’as pas les memes versions sur ton poste,
et
sur ton serveur, que certaines fonctionnalités marchent dans un cas et
pas
dans l’autre.

Le 9 décembre 2008 06:17, Florent F. [email protected] a
écrit
: