File_column rmagick ...et format

bonsoir,
j’utilise le plugin file_column pour gerer des images d’une gallerie
dans mon application rails
je voudrai faire quelque chose comme :logo ,:magick => { :size
=>“80x110>”,
:ombre_porte => 0,
#:attributes => { :format => “PNG” }

pardon il est tard , mauvaise manipulation,donc je cherche a convertir
tout les images uploadé en PNG (pour utiliser la transparence par la
suite)
lla solution doit etre trivial mais la je seche…si une ame
charitable peux m’indiquer une piste je me coucherai moins tard demain
peu etre :slight_smile:

ah oui j’avais oublier de preciser l’utilisateur doit lui pouvoir
charger des images de tout format

On Nov 22, 2007 3:30 AM, Ecrevisse06 [email protected] wrote:

ah oui j’avais oublier de preciser l’utilisateur doit lui pouvoir
charger des images de tout format

A part te citer la documentation[1] :

This makes it easy to convert an image file to another format. Simply
write the image file using a name that has either a prefix or a suffix
corresponding to the format you want.

Je ne sais que te dire. Je n’ai pas encore
testé.
[1] : http://www.imagemagick.org/RMagick/doc/imusage.html


Cyril M.

On 22 nov, 03:30, Ecrevisse06 [email protected] wrote:

ah oui j’avais oublier de preciser l’utilisateur doit lui pouvoir
charger des images de tout format
Il y a des exemples ici :
http://www.crummy.com/writing/RubyCookbook/test_results/33360.html

Pierre

On 22 nov, 12:16, pierreva [email protected] wrote:

On 22 nov, 03:30, Ecrevisse06 [email protected] wrote:> ah oui j’avais oublier de preciser l’utilisateur doit lui pouvoir

charger des images de tout format

Il y a des exemples ici :http://www.crummy.com/writing/RubyCookbook/test_results/33360.html

Pierre

je viens de regarder les exemples que tu a posté et j’ai bien peur de
ne pas voir ou je me suis trompé mais je vais continuer a chercher
merci

On 22 nov, 08:55, “Cyril M.” [email protected] wrote:

http://groups.google.com/group/railsfrance/browse_thread/thread/0cb1ea5d44bcb056?hl=fr
This makes it easy to convert an image file to another format. Simply
write the image file using a name that has either a prefix or a suffix
corresponding to the format you want.

Je ne sais que te dire. Je n’ai pas encore testé.

[1] :http://www.imagemagick.org/RMagick/doc/imusage.html


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

J’ai bien lu la documentataion ( du moins je pense),pour etre plus
precis voila les codes que j’ai testé dans mon modele sans succes et
les extraits de doc qui les justifie

file_column :logo ,:magick => { :size =>“80x110>”,
:attributes=>{:format =>“PNG”}}
(doc de file_column)
:To change some of the image properties like compression level before
they are saved you can set the :attributes option. For a list of
available attributes go to RMagick 1.15.0: class Image::Info - Optional method arguments
et quand on click sur le lien on constate bien que "format " et dans
la liste

j’ai donc voulu voir un peu plus loint j’ai donc exploré un peu le
plugin et dans magick_file_column.rb
j’ai rajouté dans transform_image

if img_options[:ombre_porte]
img.format=“PNG”
img.background_color = “none”
shadow=img.shadow(x_offset=3, y_offset=0, sigma=1.5,
opacity=img_options[:ombre_porte])
img=shadow.composite(img, Magick::NorthWestGravity,
Magick::OverCompositeOp)
end

mon modele deviens

file_column :logo ,:magick => { :size =>“80x110>”,
:ombre_porte => 0,7}

aucune des deux solutions ne fonctionne j’obtient bien une image avec
une ombre mais toute noire car le format reste jpg (si j’upload un
jpg) et fonctonne biensure avec un png

j’espere avoir ete un peu plus precis qu’hier soir

j’ai resolu mon probleme en forcant l’extension en png dans file
column

def correct_extension(filename, ext)
strip_extension(filename) << “.png” #on fore ce l’extension
pour enregistré au format png
end

bien entendu je ne permet l’upload que d’image

pour magik file column on ajoute a transform_image

if img_options[:ombre_porte]
img.format=“PNG”
img.background_color = “none”
shadow=img.shadow(x_offset=img_options[:ombre_porte][:x_offset],
y_offset=img_options[:ombre_porte][:y_offset],
sigma=img_options[:ombre_porte][:sigma],
opacity=img_options[:ombre_porte][:opacity])
img=shadow.composite(img, Magick::NorthWestGravity,
Magick::OverCompositeOp)
end

et le modele deviens

file_column :logo ,:magick => { :size =>“80x110>”,
:ombre_porte =>
{:x_offset=>3,:y_offset=>0,:sigma=>1.5,:opacity=>0.7}
}

Ce n’est surment pas la meilleure solution car si je veux utiliser
file_column dans la meme application pour uploader autre chose que des
images, un test doit donc etre effectué avant de forcer le changement
d’extension

Si y’a des propositions pour une autre approche vu que je suis un
newbie je suis preneur

j’ai resolu mon probleme en forcant l’extension en png dans file
column

def correct_extension(filename, ext)
strip_extension(filename) << “.png” #on fore ce l’extension
pour enregistré au format png
end

bien entendu je ne permet l’upload que d’image

pour magik file column on ajoute a transform_image

if img_options[:ombre_porte]
img.format=“PNG”
img.background_color = “none”
shadow=img.shadow(x_offset=img_options[:ombre_porte][:x_offset],
y_offset=img_options[:ombre_porte][:y_offset],
sigma=img_options[:ombre_porte][:sigma],
opacity=img_options[:ombre_porte][:opacity])
img=shadow.composite(img, Magick::NorthWestGravity,
Magick::OverCompositeOp)
end

et le modele deviens

file_column :logo ,:magick => { :size =>“80x110>”,
:ombre_porte =>
{:x_offset=>3,:y_offset=>0,:sigma=>1.5,:opacity=>0.7}
}

Ce n’est surment pas la meilleure solution car si je veux utiliser
file_column dans la meme application pour uploader autre chose que des
images, un test doit donc etre effectué avant de forcer le changement
d’extension

Si y’a des propositions pour une autre approche vu que je suis un
newbie je suis preneur