Hi, So now that I''m not making ridiculous typos, I''ve got my homegrown photo uploading system going. But now the question is, how do I implement ImageMagick photo features? I''ve got ImageMagick and the RMagick gem installed, but I''m not sure at what point in the process I should implement the methods RMagick exposes? To recap the basic file uploading code: I have a model picture that has the following methods: validates_format_of :content_type, :with=>/^image/, :message=>''Uploading is limited to pictures'' def uploaded_picture=(picture_field) self.name = base_part_of(picture_field.original_filename) self.content_type = picture_field.content_type.chomp self.data = picture_field.read end def base_part_of(file_name) File.basename(file_name).gsub(/[^\w._-]/,'''') end Basic validation to make sure it is an image, an accessor? method to instruct it to read the data being uploaded and a method to write the filename. Turns out when you type it correctly, the controller isn''t that tough either: def get @picture =Picture.new end def picture @picture=Picture.find(params[:id]) send_data(@picture.data, :filename=>@picture.name, :type=>@picture.content_type, :disposition=>"inline") end def save @picture=Picture.new(params[:picture]) if @picture.save redirect_to(:action=>''show'', :id=> @picture.id) else render(:action=> :get) end end def show @picture=Picture.find(params[:id]) end There are 3 views (index, show, get) but I''m omitting them. If I''ve understood correctly, I need to create an Rmagick object so I can get at RMagick''s methods. Judging from the docs, I think I would type: picture_converted= Magick::Image.read(?) picture_converted.change_geometry!(''320x240'') { |cols, rows, img| img.resize!(cols, rows) } I''ve put a question mark as the argument for read because I''m not sure what object I can tap into to manipulate it. Is it as simple as using ActiveRecord to retrieve a particular image and loading that into picture_converted? picture_loaded=Picture.find(params[:id]) picture_converted=Magick::Image.read(picture_loaded) I really appreciate the help...if any of you are in Palo Alto, I owe you a beer or something! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> > If I''ve understood correctly, I need to create an Rmagick object so I > can get at RMagick''s methods. Judging from the docs, I think I would > type: > > picture_converted= Magick::Image.read(?) > picture_converted.change_geometry!(''320x240'') { |cols, rows, img| > img.resize!(cols, rows) > } >Magick::Image.read requires a file object, so you''re out of luck there. from_blob takes a blob (ie a string) Fred> I''ve put a question mark as the argument for read because I''m not sure > what object I can tap into to manipulate it. Is it as simple as using > ActiveRecord to retrieve a particular image and loading that into > picture_converted? > > picture_loaded=Picture.find(params[:id]) > picture_converted=Magick::Image.read(picture_loaded) > > I really appreciate the help...if any of you are in Palo Alto, I owe > you a beer or something! > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Fred, Is @picture not a file object? If @picture is saved at some point and given a filename, I imagine that there''s some point along the way that it becomes a file object, no? Ron On Jun 15, 7:54 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > If I''ve understood correctly, I need to create an Rmagick object so I > > can get at RMagick''s methods. Judging from the docs, I think I would > > type: > > > picture_converted= Magick::Image.read(?) > > picture_converted.change_geometry!(''320x240'') { |cols, rows, img| > > img.resize!(cols, rows) > > } > > Magick::Image.read requires a file object, so you''re out of luck > there. from_blob takes a blob (ie a string) > > Fred > > > I''ve put a question mark as the argument for read because I''m not sure > > what object I can tap into to manipulate it. Is it as simple as using > > ActiveRecord to retrieve a particular image and loading that into > > picture_converted? > > > picture_loaded=Picture.find(params[:id]) > > picture_converted=Magick::Image.read(picture_loaded) > > > I really appreciate the help...if any of you are in Palo Alto, I owe > > you a beer or something!--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Ron, Ive written some stuff using ImageMagick. I don''t have the time right now to explain everything. But if you want, I can send you some code samples at the email in your profile. It covers the whole upload thing and using RMagick/ImageMagick for creating some previews, thumbnails and stuff like that. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Jun 15, 4:01 pm, Ron <stecklyena...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi Fred, > > Is @picture not a file object? If @picture is saved at some point and > given a filename, I imagine that there''s some point along the way that > it becomes a file object, no?As you''ve shown it, @picture is an ActiveRecord object and the image data is stored in the database. No file object in sight. Fred> >Ron> > On Jun 15, 7:54 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: > > > > If I''ve understood correctly, I need to create an Rmagick object so I > > > can get at RMagick''s methods. Judging from the docs, I think I would > > > type: > > > > picture_converted= Magick::Image.read(?) > > > picture_converted.change_geometry!(''320x240'') { |cols, rows, img| > > > img.resize!(cols, rows) > > > } > > > Magick::Image.read requires a file object, so you''re out of luck > > there. from_blob takes a blob (ie a string) > > > Fred > > > > I''ve put a question mark as the argument for read because I''m not sure > > > what object I can tap into to manipulate it. Is it as simple as using > > > ActiveRecord to retrieve a particular image and loading that into > > > picture_converted? > > > > picture_loaded=Picture.find(params[:id]) > > > picture_converted=Magick::Image.read(picture_loaded) > > > > I really appreciate the help...if any of you are in Palo Alto, I owe > > > you a beer or something!--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Fred, Yea, I realized that shortly after hitting the post button...should be less quick off the mark. Hmm...looks like I''m going to have to rewrite the file upload feature to right a file and store the filename in the database. On Jun 15, 8:11 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On Jun 15, 4:01 pm, Ron <stecklyena...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Hi Fred, > > > Is @picture not a file object? If @picture is saved at some point and > > given a filename, I imagine that there''s some point along the way that > > it becomes a file object, no? > > As you''ve shown it, @picture is an ActiveRecord object and the image > data is stored in the database. No file object in sight. > > Fred > > > > Ron > > > On Jun 15, 7:54 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > > wrote: > > > > > If I''ve understood correctly, I need to create an Rmagick object so I > > > > can get at RMagick''s methods. Judging from the docs, I think I would > > > > type: > > > > > picture_converted= Magick::Image.read(?) > > > > picture_converted.change_geometry!(''320x240'') { |cols, rows, img| > > > > img.resize!(cols, rows) > > > > } > > > > Magick::Image.read requires a file object, so you''re out of luck > > > there. from_blob takes a blob (ie a string) > > > > Fred > > > > > I''ve put a question mark as the argument for read because I''m not sure > > > > what object I can tap into to manipulate it. Is it as simple as using > > > > ActiveRecord to retrieve a particular image and loading that into > > > > picture_converted? > > > > > picture_loaded=Picture.find(params[:id]) > > > > picture_converted=Magick::Image.read(picture_loaded) > > > > > I really appreciate the help...if any of you are in Palo Alto, I owe > > > > you a beer or something!--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 15 Jun 2008, at 16:18, Ron wrote:> > Hi Fred, > > Yea, I realized that shortly after hitting the post button...should be > less quick off the mark. Hmm...looks like I''m going to have to > rewrite the file upload feature to right a file and store the filename > in the database. >Not necessarily, like I said Image.from_blob should sort you out. You might want to check out attachment_fu as it does a lot of this sort of stuff. Fred> On Jun 15, 8:11 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: >> On Jun 15, 4:01 pm, Ron <stecklyena...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> >>> Hi Fred, >> >>> Is @picture not a file object? If @picture is saved at some point >>> and >>> given a filename, I imagine that there''s some point along the way >>> that >>> it becomes a file object, no? >> >> As you''ve shown it, @picture is an ActiveRecord object and the image >> data is stored in the database. No file object in sight. >> >> Fred >> >> >> >> Ron >> >>> On Jun 15, 7:54 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >>> wrote: >> >>>>> If I''ve understood correctly, I need to create an Rmagick object >>>>> so I >>>>> can get at RMagick''s methods. Judging from the docs, I think I >>>>> would >>>>> type: >> >>>>> picture_converted= Magick::Image.read(?) >>>>> picture_converted.change_geometry!(''320x240'') { |cols, rows, img| >>>>> img.resize!(cols, rows) >>>>> } >> >>>> Magick::Image.read requires a file object, so you''re out of luck >>>> there. from_blob takes a blob (ie a string) >> >>>> Fred >> >>>>> I''ve put a question mark as the argument for read because I''m >>>>> not sure >>>>> what object I can tap into to manipulate it. Is it as simple as >>>>> using >>>>> ActiveRecord to retrieve a particular image and loading that into >>>>> picture_converted? >> >>>>> picture_loaded=Picture.find(params[:id]) >>>>> picture_converted=Magick::Image.read(picture_loaded) >> >>>>> I really appreciate the help...if any of you are in Palo Alto, I >>>>> owe >>>>> you a beer or something! > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote:> Hi Ron, > > Ive written some stuff using ImageMagick. > I don''t have the time right now to explain everything. > But if you want, I can send you some code samples > at the email in your profile. > It covers the whole upload thing and using RMagick/ImageMagick > for creating some previews, thumbnails and stuff like that.---- perhaps a URL for the benefit of everyone - or use pastie Craig --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote:> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: > > Hi Ron, > > > Ive written some stuff using ImageMagick. > > I don''t have the time right now to explain everything. > > But if you want, I can send you some code samples > > at the email in your profile. > > It covers the whole upload thing and using RMagick/ImageMagick > > for creating some previews, thumbnails and stuff like that. > > ---- > perhaps a URL for the benefit of everyone - or use pastie > > Craigright, here it is: http://pastie.org/215434 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Fred and Thorsten, Thanks so much for the help. I don''t quite understand from_blob...? What does it do? Thorsten: thanks for the code! I really appreciate it. I''ll try attachment_fu at some point--I''m writing this myself just so that I understand how it works. If I use attachment_fu later on, I want to make sure I understand how it does this stuff... R On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote:> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: > > > On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: > > > Hi Ron, > > > > Ive written some stuff using ImageMagick. > > > I don''t have the time right now to explain everything. > > > But if you want, I can send you some code samples > > > at the email in your profile. > > > It covers the whole upload thing and using RMagick/ImageMagick > > > for creating some previews, thumbnails and stuff like that. > > > ---- > > perhaps a URL for the benefit of everyone - or use pastie > > > Craig > > right, here it is:http://pastie.org/215434--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 15 Jun 2008, at 18:29, Ron wrote:> > Hi Fred and Thorsten, > > Thanks so much for the help. > > I don''t quite understand from_blob...? What does it do? >From the rmagick doc: Image.from_blob(aString) [ { optional arguments } ] -> anArray Description Creates an array of images from a BLOB, that is, a Binary Large OBject. In RMagick, a BLOB is a string. Arguments A blob can be a string containing an image file such as a JPEG or GIF Fred> Thorsten: thanks for the code! I really appreciate it. I''ll try > attachment_fu at some point--I''m writing this myself just so that I > understand how it works. If I use attachment_fu later on, I want to > make sure I understand how it does this stuff... > > R > > On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: >> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: >> >>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: >>>> Hi Ron, >> >>>> Ive written some stuff using ImageMagick. >>>> I don''t have the time right now to explain everything. >>>> But if you want, I can send you some code samples >>>> at the email in your profile. >>>> It covers the whole upload thing and using RMagick/ImageMagick >>>> for creating some previews, thumbnails and stuff like that. >> >>> ---- >>> perhaps a URL for the benefit of everyone - or use pastie >> >>> Craig >> >> right, here it is:http://pastie.org/215434 > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ah got it...I''m still not sure where I would put it. I''m not sure if I could put something like this in the controller: def resize @picture=Picture.find(params[:id]) Image.from_blob(@picture.data) Image.change_geometry!(''320x240'') { |cols, rows, img| Image.resize!(cols, rows) end ? On Jun 15, 10:40 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On 15 Jun 2008, at 18:29, Ron wrote: > > > > > Hi Fred and Thorsten, > > > Thanks so much for the help. > > > I don''t quite understand from_blob...? What does it do? > > From the rmagick doc: > > Image.from_blob(aString) [ { optional arguments } ] -> anArray > > Description > Creates an array of images from a BLOB, that is, a Binary Large > OBject. In RMagick, a BLOB is a string. > > Arguments > A blob can be a string containing an image file such as a JPEG or GIF > > Fred > > > Thorsten: thanks for the code! I really appreciate it. I''ll try > > attachment_fu at some point--I''m writing this myself just so that I > > understand how it works. If I use attachment_fu later on, I want to > > make sure I understand how it does this stuff... > > > R > > > On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: > >> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: > > >>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: > >>>> Hi Ron, > > >>>> Ive written some stuff using ImageMagick. > >>>> I don''t have the time right now to explain everything. > >>>> But if you want, I can send you some code samples > >>>> at the email in your profile. > >>>> It covers the whole upload thing and using RMagick/ImageMagick > >>>> for creating some previews, thumbnails and stuff like that. > > >>> ---- > >>> perhaps a URL for the benefit of everyone - or use pastie > > >>> Craig > > >> right, here it is:http://pastie.org/215434--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 15 Jun 2008, at 19:51, Ron wrote:> > Ah got it...I''m still not sure where I would put it. I''m not sure if > I could put something like this in the controller: > > def resize > @picture=Picture.find(params[:id]) > Image.from_blob(@picture.data) > Image.change_geometry!(''320x240'') { |cols, rows, img| > Image.resize!(cols, rows) > endYou could put that absolutely anywhere in your app, as long as params[:id] was defined. Fred> > ? > > On Jun 15, 10:40 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: >> On 15 Jun 2008, at 18:29, Ron wrote: >> >> >> >>> Hi Fred and Thorsten, >> >>> Thanks so much for the help. >> >>> I don''t quite understand from_blob...? What does it do? >> >> From the rmagick doc: >> >> Image.from_blob(aString) [ { optional arguments } ] -> anArray >> >> Description >> Creates an array of images from a BLOB, that is, a Binary Large >> OBject. In RMagick, a BLOB is a string. >> >> Arguments >> A blob can be a string containing an image file such as a JPEG or GIF >> >> Fred >> >>> Thorsten: thanks for the code! I really appreciate it. I''ll try >>> attachment_fu at some point--I''m writing this myself just so that I >>> understand how it works. If I use attachment_fu later on, I want to >>> make sure I understand how it does this stuff... >> >>> R >> >>> On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: >>>> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: >> >>>>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: >>>>>> Hi Ron, >> >>>>>> Ive written some stuff using ImageMagick. >>>>>> I don''t have the time right now to explain everything. >>>>>> But if you want, I can send you some code samples >>>>>> at the email in your profile. >>>>>> It covers the whole upload thing and using RMagick/ImageMagick >>>>>> for creating some previews, thumbnails and stuff like that. >> >>>>> ---- >>>>> perhaps a URL for the benefit of everyone - or use pastie >> >>>>> Craig >> >>>> right, here it is:http://pastie.org/215434 > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hmm..this is getting a bit discouraging. At the moment, I''m getting a no method error for change_geometry!, which is strange. I''m wondering how to dump the BLOB data into some kind of object that RMagick can then operate on? I tried Image=Magick::ImageList.new Then proceeded to use change_geometry!, but then I got the undefined constant error. How can I create an object that exposes the RMagick methods from the blob data? R On Jun 15, 12:05 pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> On 15 Jun 2008, at 19:51, Ron wrote: > > > > > Ah got it...I''m still not sure where I would put it. I''m not sure if > > I could put something like this in the controller: > > > def resize > > @picture=Picture.find(params[:id]) > > Image.from_blob(@picture.data) > > Image.change_geometry!(''320x240'') { |cols, rows, img| > > Image.resize!(cols, rows) > > end > > You could put that absolutely anywhere in your app, as long as > params[:id] was defined. > > Fred > > > > > ? > > > On Jun 15, 10:40 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > > wrote: > >> On 15 Jun 2008, at 18:29, Ron wrote: > > >>> Hi Fred and Thorsten, > > >>> Thanks so much for the help. > > >>> I don''t quite understand from_blob...? What does it do? > > >> From the rmagick doc: > > >> Image.from_blob(aString) [ { optional arguments } ] -> anArray > > >> Description > >> Creates an array of images from a BLOB, that is, a Binary Large > >> OBject. In RMagick, a BLOB is a string. > > >> Arguments > >> A blob can be a string containing an image file such as a JPEG or GIF > > >> Fred > > >>> Thorsten: thanks for the code! I really appreciate it. I''ll try > >>> attachment_fu at some point--I''m writing this myself just so that I > >>> understand how it works. If I use attachment_fu later on, I want to > >>> make sure I understand how it does this stuff... > > >>> R > > >>> On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: > >>>> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: > > >>>>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: > >>>>>> Hi Ron, > > >>>>>> Ive written some stuff using ImageMagick. > >>>>>> I don''t have the time right now to explain everything. > >>>>>> But if you want, I can send you some code samples > >>>>>> at the email in your profile. > >>>>>> It covers the whole upload thing and using RMagick/ImageMagick > >>>>>> for creating some previews, thumbnails and stuff like that. > > >>>>> ---- > >>>>> perhaps a URL for the benefit of everyone - or use pastie > > >>>>> Craig > > >>>> right, here it is:http://pastie.org/215434--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Oops I figured it out...the thing to do is to create an instance variable to hold it. I was just creating a local variable, which must not work because of the structure of Rails. My save code now looks like: @picture=Picture.new(params[:picture]) @image=Magick::ImageList.new @image.from_blob(@picture.data) @image.change_geometry!(''320x240'') {|cols, rows, img| @image.resize!(cols, rows)} @picture.data=-ptKFGLchIT8@public.gmane.org_blob if @picture.save redirect_to(:action=>''show'', :id=> @picture.id) else render(:action=> :get) end On Jun 15, 2:36 pm, Ron <stecklyena...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hmm..this is getting a bit discouraging. At the moment, I''m getting a > no method error for change_geometry!, which is strange. > > I''m wondering how to dump the BLOB data into some kind of object that > RMagick can then operate on? I tried > Image=Magick::ImageList.new > Then proceeded to use change_geometry!, but then I got the undefined > constant error. > > How can I create an object that exposes the RMagick methods from the > blob data? > > R > On Jun 15, 12:05 pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: > > > On 15 Jun 2008, at 19:51, Ron wrote: > > > > Ah got it...I''m still not sure where I would put it. I''m not sure if > > > I could put something like this in the controller: > > > > def resize > > > @picture=Picture.find(params[:id]) > > > Image.from_blob(@picture.data) > > > Image.change_geometry!(''320x240'') { |cols, rows, img| > > > Image.resize!(cols, rows) > > > end > > > You could put that absolutely anywhere in your app, as long as > > params[:id] was defined. > > > Fred > > > > ? > > > > On Jun 15, 10:40 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > > > wrote: > > >> On 15 Jun 2008, at 18:29, Ron wrote: > > > >>> Hi Fred and Thorsten, > > > >>> Thanks so much for the help. > > > >>> I don''t quite understand from_blob...? What does it do? > > > >> From the rmagick doc: > > > >> Image.from_blob(aString) [ { optional arguments } ] -> anArray > > > >> Description > > >> Creates an array of images from a BLOB, that is, a Binary Large > > >> OBject. In RMagick, a BLOB is a string. > > > >> Arguments > > >> A blob can be a string containing an image file such as a JPEG or GIF > > > >> Fred > > > >>> Thorsten: thanks for the code! I really appreciate it. I''ll try > > >>> attachment_fu at some point--I''m writing this myself just so that I > > >>> understand how it works. If I use attachment_fu later on, I want to > > >>> make sure I understand how it does this stuff... > > > >>> R > > > >>> On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: > > >>>> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: > > > >>>>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: > > >>>>>> Hi Ron, > > > >>>>>> Ive written some stuff using ImageMagick. > > >>>>>> I don''t have the time right now to explain everything. > > >>>>>> But if you want, I can send you some code samples > > >>>>>> at the email in your profile. > > >>>>>> It covers the whole upload thing and using RMagick/ImageMagick > > >>>>>> for creating some previews, thumbnails and stuff like that. > > > >>>>> ---- > > >>>>> perhaps a URL for the benefit of everyone - or use pastie > > > >>>>> Craig > > > >>>> right, here it is:http://pastie.org/215434--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thorsten, thanks for the pastie -- I''ve been messing with RMagick with various levels of success and your pastie may get me back on track. Ron, I''m working on this sort of stuff for my personal photography web site, so perhaps some collaboration is in order? Right now I''m stuck on deadline for a video project to be shown next Saturday, so I can''t go full barrel on this. But... My general flow is this: Export photos from Aperture into JPEGs generally fitting within 1024x1024 and watermarked, putting into a new folder, whose name is the "event" I want these photos referenced in in my database, appropriate for event index and viewing. Then in my Rails app, admin controller, I want to point to the folder and let ''er rip: 1) Add the filenames to my database 2) Create thumbnails and store them in public/images/thumbnails/ Then in my list/show/etc views I can build nice photo display pages of the images for any given event. Thoughts? Parallel tracks? Cheers, Jim On Jun 15, 2008, at 3:30 PM, Ron wrote:> > Oops I figured it out...the thing to do is to create an instance > variable to hold it. I was just creating a local variable, which must > not work because of the structure of Rails. > > My save code now looks like: > @picture=Picture.new(params[:picture]) > > @image=Magick::ImageList.new > @image.from_blob(@picture.data) > @image.change_geometry!(''320x240'') {|cols, rows, img| > @image.resize!(cols, rows)} > @picture.data=-ptKFGLchIT8@public.gmane.org_blob > if @picture.save > redirect_to(:action=>''show'', :id=> @picture.id) > else > render(:action=> :get) > end > > On Jun 15, 2:36 pm, Ron <stecklyena...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >> Hmm..this is getting a bit discouraging. At the moment, I''m >> getting a >> no method error for change_geometry!, which is strange. >> >> I''m wondering how to dump the BLOB data into some kind of object that >> RMagick can then operate on? I tried >> Image=Magick::ImageList.new >> Then proceeded to use change_geometry!, but then I got the undefined >> constant error. >> >> How can I create an object that exposes the RMagick methods from the >> blob data? >> >> R >> On Jun 15, 12:05 pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >> wrote: >> >>> On 15 Jun 2008, at 19:51, Ron wrote: >> >>>> Ah got it...I''m still not sure where I would put it. I''m not >>>> sure if >>>> I could put something like this in the controller: >> >>>> def resize >>>> @picture=Picture.find(params[:id]) >>>> Image.from_blob(@picture.data) >>>> Image.change_geometry!(''320x240'') { |cols, rows, img| >>>> Image.resize!(cols, rows) >>>> end >> >>> You could put that absolutely anywhere in your app, as long as >>> params[:id] was defined. >> >>> Fred >> >>>> ? >> >>>> On Jun 15, 10:40 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> >>>> wrote: >>>>> On 15 Jun 2008, at 18:29, Ron wrote: >> >>>>>> Hi Fred and Thorsten, >> >>>>>> Thanks so much for the help. >> >>>>>> I don''t quite understand from_blob...? What does it do? >> >>>>> From the rmagick doc: >> >>>>> Image.from_blob(aString) [ { optional arguments } ] -> anArray >> >>>>> Description >>>>> Creates an array of images from a BLOB, that is, a Binary Large >>>>> OBject. In RMagick, a BLOB is a string. >> >>>>> Arguments >>>>> A blob can be a string containing an image file such as a JPEG >>>>> or GIF >> >>>>> Fred >> >>>>>> Thorsten: thanks for the code! I really appreciate it. I''ll try >>>>>> attachment_fu at some point--I''m writing this myself just so >>>>>> that I >>>>>> understand how it works. If I use attachment_fu later on, I >>>>>> want to >>>>>> make sure I understand how it does this stuff... >> >>>>>> R >> >>>>>> On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: >>>>>>> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: >> >>>>>>>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: >>>>>>>>> Hi Ron, >> >>>>>>>>> Ive written some stuff using ImageMagick. >>>>>>>>> I don''t have the time right now to explain everything. >>>>>>>>> But if you want, I can send you some code samples >>>>>>>>> at the email in your profile. >>>>>>>>> It covers the whole upload thing and using RMagick/ImageMagick >>>>>>>>> for creating some previews, thumbnails and stuff like that. >> >>>>>>>> ---- >>>>>>>> perhaps a URL for the benefit of everyone - or use pastie >> >>>>>>>> Craig >> >>>>>>> right, here it is:http://pastie.org/215434 > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hey Jim, That''s certainly an interesting line of thought...we definitely should chat. I''m building a database for my boss. Basically, there''s all this text in a MySQL database that has to live with multiple photographs. So I need to be able to upload the file and then generate a thumbnail. Little short on time over the next couple of days, too....but I''d certainly be interested in collaborating a bit, since it sounds like we''re trying to do similar things. More later... Ron On Jun 15, 11:40 pm, Jim Tobin <tob...-ee4meeAH724@public.gmane.org> wrote:> Thorsten, thanks for the pastie -- I''ve been messing with RMagick with > various levels of success and your pastie may get me back on track. > > Ron, I''m working on this sort of stuff for my personal photography web > site, so perhaps some collaboration is in order? Right now I''m stuck > on deadline for a video project to be shown next Saturday, so I can''t > go full barrel on this. But... > > My general flow is this: > > Export photos from Aperture into JPEGs generally fitting within > 1024x1024 and watermarked, putting into a new folder, whose name is > the "event" I want these photos referenced in in my database, > appropriate for event index and viewing. > > Then in my Rails app, admin controller, I want to point to the folder > and let ''er rip: > 1) Add the filenames to my database > 2) Create thumbnails and store them in public/images/thumbnails/ > > Then in my list/show/etc views I can build nice photo display pages of > the images for any given event. > > Thoughts? Parallel tracks? > > Cheers, > > Jim > > On Jun 15, 2008, at 3:30 PM, Ron wrote: > > > > > Oops I figured it out...the thing to do is to create an instance > > variable to hold it. I was just creating a local variable, which must > > not work because of the structure of Rails. > > > My save code now looks like: > > @picture=Picture.new(params[:picture]) > > > @image=Magick::ImageList.new > > @image.from_blob(@picture.data) > > @image.change_geometry!(''320x240'') {|cols, rows, img| > > @image.resize!(cols, rows)} > > @picture.da...-ptKFGLchIT8@public.gmane.org_blob > > if @picture.save > > redirect_to(:action=>''show'', :id=> @picture.id) > > else > > render(:action=> :get) > > end > > > On Jun 15, 2:36 pm, Ron <stecklyena...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > >> Hmm..this is getting a bit discouraging. At the moment, I''m > >> getting a > >> no method error for change_geometry!, which is strange. > > >> I''m wondering how to dump the BLOB data into some kind of object that > >> RMagick can then operate on? I tried > >> Image=Magick::ImageList.new > >> Then proceeded to use change_geometry!, but then I got the undefined > >> constant error. > > >> How can I create an object that exposes the RMagick methods from the > >> blob data? > > >> R > >> On Jun 15, 12:05 pm, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > >> wrote: > > >>> On 15 Jun 2008, at 19:51, Ron wrote: > > >>>> Ah got it...I''m still not sure where I would put it. I''m not > >>>> sure if > >>>> I could put something like this in the controller: > > >>>> def resize > >>>> @picture=Picture.find(params[:id]) > >>>> Image.from_blob(@picture.data) > >>>> Image.change_geometry!(''320x240'') { |cols, rows, img| > >>>> Image.resize!(cols, rows) > >>>> end > > >>> You could put that absolutely anywhere in your app, as long as > >>> params[:id] was defined. > > >>> Fred > > >>>> ? > > >>>> On Jun 15, 10:40 am, Frederick Cheung <frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > >>>> wrote: > >>>>> On 15 Jun 2008, at 18:29, Ron wrote: > > >>>>>> Hi Fred and Thorsten, > > >>>>>> Thanks so much for the help. > > >>>>>> I don''t quite understand from_blob...? What does it do? > > >>>>> From the rmagick doc: > > >>>>> Image.from_blob(aString) [ { optional arguments } ] -> anArray > > >>>>> Description > >>>>> Creates an array of images from a BLOB, that is, a Binary Large > >>>>> OBject. In RMagick, a BLOB is a string. > > >>>>> Arguments > >>>>> A blob can be a string containing an image file such as a JPEG > >>>>> or GIF > > >>>>> Fred > > >>>>>> Thorsten: thanks for the code! I really appreciate it. I''ll try > >>>>>> attachment_fu at some point--I''m writing this myself just so > >>>>>> that I > >>>>>> understand how it works. If I use attachment_fu later on, I > >>>>>> want to > >>>>>> make sure I understand how it does this stuff... > > >>>>>> R > > >>>>>> On Jun 15, 9:38 am, Thorsten Müller <thors...-1oxKqHKwyltBDgjK7y7TUQ@public.gmane.org> wrote: > >>>>>>> On Jun 15, 6:04 pm, Craig White <craigwh...-BQ75lA0ptkhBDgjK7y7TUQ@public.gmane.org> wrote: > > >>>>>>>> On Sun, 2008-06-15 at 08:04 -0700, Thorsten Müller wrote: > >>>>>>>>> Hi Ron, > > >>>>>>>>> Ive written some stuff using ImageMagick. > >>>>>>>>> I don''t have the time right now to explain everything. > >>>>>>>>> But if you want, I can send you some code samples > >>>>>>>>> at the email in your profile. > >>>>>>>>> It covers the whole upload thing and using RMagick/ImageMagick > >>>>>>>>> for creating some previews, thumbnails and stuff like that. > > >>>>>>>> ---- > >>>>>>>> perhaps a URL for the benefit of everyone - or use pastie > > >>>>>>>> Craig > > >>>>>>> right, here it is:http://pastie.org/215434--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
This may be a little late to be useful if you are pressed for time, but have you looked into the attachment_fu plugin? Once that is setup, the code you have to add in your model is trivial... I resize my images to 800x600 if they''re larger, and gen a 100x100 thumbnail auto-Magick-ally. class Image < ActiveRecord::Base belongs_to :unittest has_attachment :content_type => :image, :storage => :file_system, :max_size => 500.kilobytes, :resize_to => ''800x600>'', :thumbnails => { :thumb => ''100x100>''} validates_as_attachment end That''s about the extent of what I have to do... -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---