Yes You Cam
A ridiculously simple BluePotion camera library to help you achieve your dreams...
Usage ("Nothing is impossible")
Take a Photo
  # Fire off a photo taking request
  # Returns true if camera intent is presented to the user.
  # Depends on camera existence (YesYouCam.camera_exists?)
  YesYouCam.capture_photoOn Take a Photo Completion - Get Photo
  # called in BluePotion when the photo has been taken (or any activity is completed actually)
  # If you're not using a PMActivity you should capture the onActivityResult method.
  def activity_result(request_code, result_code, data)
    # Verify this activity was for us!
    if (request_code == YesYouCam::CAPTURE_IMAGE_RC)
      if (result_code == YesYouCam::OK) # OR Android::App::Activity::RESULT_OK
        # Photo success!
        mp "Full sized photo located at #{YesYouCam.photo_path}"
        # now you can do find!(:some_image_view).imageBitmap = YesYouCam.bmp_data
      else
        # Photo failed or was cancelled
        app.toast "No Photo"
      end
    end
  endWant a PNG?
  # Did you need a PNG instead of a JPG?
  YesYouCam.photo_path # Some JPG path
  YesYouCam.pic_to_png
  YesYouCam.photo_path # Some new PNG pathNeed the photo discoverable by Photo Libraries and other Apps?
  # Run this and the current photo (YesYouCam.photo_path) will be
  # added to the user's Photo Gallery, and accessible by all apps.
  YesYouCam.add_to_galleryLet the user select a photo from their library?
  # Fire off a photo choose request
  YesYouCam.choose_photoKitchen Sink Example
  app.alert(title: "Update Photo", message: "How would you like to update your photo?", positive_button: "Take Photo", negative_button: "Choose from Library") do |choice|
    case choice
    when "Take Photo"
      YesYouCam.capture_photo
    when "Choose from Library"
      YesYouCam.choose_photo
    end
  end
  def activity_result(request_code, result_code, data)
    if request_code == YesYouCam::CAPTURE_IMAGE_RC
      if result_code == YesYouCam::OK
        # Photo success!
        mp "Full sized photo located at #{YesYouCam.photo_path}"
        find!(:some_image_view).imageBitmap = YesYouCam.bmp_data
      else
        # Photo failed or was cancelled
        app.toast "No Photo"
      end
    elsif request_code == YesYouCam::CHOOSE_IMAGE_RC
      # the chosen photo
      selected_uri = data.getData
      # Did you want the path?
      photo_path = YesYouCam.pic_path_from_uri(selected_uri)
      # Did you want the BMP data?
      bmp_data = YesYouCam.bmp_data(photo_path)
      # Nope, the uri is fine...
      find!(:some_image_view).imageURI = selected_uri
    end
  endInstallation
Add this line to your application's Gemfile:
gem 'yesyoucam'
And then execute:
$ bundle
Now make sure your Rakefile has camera permissions and features needed:
# This gem will try to add permissions, but it's best that you assure they are set!
app.permissions += [:write_external_storage]
# This gem will add this feature, but it's safest for you to also set it!
app.features = ["android.hardware.camera"]
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Order some mexican food and beat a piƱata
- Create new Pull Request
