Having trouble with a remote-crop-then-resize using attachment fu =(

Basically, I'm trying to crop multiple images out of a remote/original scene.. Think flickr 'tagging', only, the pixs in the tagged boxes become their own unique images.. by way of simulating an upload from the controller using attachment fu.. can't quite figure out the specific method in fu that would allow me to do this.. I'm so near the edge right now!@ UGH =(

CONTROLLER: SCENE.RB     # POST /yings     # POST /yings.xml     def create         @ying = Ying.new(params[:ying])         scene = Scene.find(params[:ying][:scene_id])         scene.yings << @ying         @ying.scale_to_scene(params[:ying], scene)

        avatar = Avatar.create!(:uploaded_data => params[:ying] [:uploaded_data],             :content_type => 'image/png',             :filename=> "#{RAILS_ROOT}/public/images/avatars/yings/ #{@ying.id}_thing.png",             :ying_id => self.id,             :size => (@ying.width).to_i * (@ying.height).to_i           )         avatar.ying_id = @ying.id         avatar.scene_id = nil         avatar.user_id = nil         @ying.avatar = avatar         avatar.thumbnails.clear       # avatar.save!

      respond_to do |format|         if @ying.save_with_avatar(avatar)             flash[:notice] = 'Ying was successfully created.'             format.html { render :action => "show" }             format.xml { render :xml => @ying, :status => :created, :location => @ying }           else             format.html { render :action => "new" }             format.xml { render :xml => @ying.errors, :status => :unprocessable_entity }         end       end     end

YING.rb def scale_to_scene(params, scene)   x1 = params[:x1].to_f*scene.wscale.to_f   y1 = params[:y1].to_i*scene.hscale.to_f   width = params[:width].to_f*scene.wscale.to_f   height = params[:height].to_f*scene.hscale.to_f   img = Magick::Image.read("#{RAILS_ROOT}/ public#{scene.avatar.public_filename}")[0]   chopped = img.crop(Magick::ForgetGravity, x1, y1, width, height)   path = "#{RAILS_ROOT}/public/images/avatars/yings/ #{self.id}_thing.png"   chopped = chopped.write(path)   #create_or_update_thumbnail(path, suffix, *size) end

avatar_system.rb   attr_accessor :uploaded_avatar_data

    def save_with_avatar(params)      avatar = Avatar.new       begin         self.transaction do              if params[:uploaded_avatar_data] && params[:uploaded_avatar_data].size > 0               avatar.uploaded_data = (params[:uploaded_avatar_data])                avatar.thumbnails.clear                avatar.save!                self.avatar = avatar              end            save!         end       rescue         if avatar.errors.on(:size)           errors.add_to_base("Uploaded image is too big (500-KB max).")         end         if avatar.errors.on(:content_type)           errors.add_to_base("Uploaded image content-type is not valid.")         end         false       end     end