Does animated gif will work properly using RMagick?


#1

Dear all,

I have used RMagic to read and write a image while uploading. An
animated gif was read from my local machine and was written in my images
folder using RMagick. But the animated gif which i read was witten in my
folder without animation. What should i do to write the gif image with
animation.

Here is my code to read and write image while uploading.

image = params[:image][:blob]
image1=params[:image][:blob].original_filename
imgs = Magick::Image.from_blob(image.read)
img = imgs.first
File.open(RAILS_ROOT + “/public/images/banner/” + image1 , “wb”) do |f|
f.write(img.to_blob)
end

could anyone suggest me to solve this issue

Thanks in advance,

Regards,
Jose Martin


#2

On Dec 4, 2008, at 3:56 AM, dare ruby wrote:

Here is my code to read and write image while uploading.
could anyone suggest me to solve this issue

Thanks in advance,

Regards,
Jose Martin

imgs is an array of your animation frames. When you take imgs.first,
you get only the initial frame.

Try something like this (NOTE: Only run inside my head which tends to
leak and has no garbage collector. :wink:

imgs = Magick::ImageList.from_blob(image.read)
imgs.write(RAILS_ROOT + “/public/images/banner/” + image1)

Or, if you don’t actually do anything with the image:

File.open(RAILS_ROOT + “/public/images/banner/” + image1 , “wb”) do |f|
f.write image.read
end

…and avoid all the ImageMagick overhead.

-Rob

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid


#3

Dear Rob,

Thanks a lot, it works fine now with your below code

File.open(RAILS_ROOT + “/public/images/banner/” + image1 , “wb”) do |f|
f.write image.read
end

…and avoid all the ImageMagick overhead.

-Rob

Regards,
jose Martin