All Projects → BruelAndKjaer → Chafu

BruelAndKjaer / Chafu

Licence: MIT license
A photo browser and camera library for Xamarin.iOS

Programming Languages

C#
18002 projects
powershell
5483 projects
shell
77523 projects

Projects that are alternatives of or similar to Chafu

Paparazzo
Custom iOS camera and photo picker with editing capabilities
Stars: ✭ 714 (+1883.33%)
Mutual labels:  photos, camera
Pictureselectorlight
Picture Selector Library for Android or 图片选择器
Stars: ✭ 145 (+302.78%)
Mutual labels:  photos, camera
Media picker
A Flutter Plugin for Selecting and Taking New Photos and Videos.
Stars: ✭ 24 (-33.33%)
Mutual labels:  photos, camera
Magicalcamera
A library to take picture easy, transform your data in different format and save photos in your device
Stars: ✭ 327 (+808.33%)
Mutual labels:  photos, camera
Alcameraviewcontroller
A camera view controller with custom image picker and image cropping.
Stars: ✭ 2,023 (+5519.44%)
Mutual labels:  photos, camera
Rxpaparazzo
RxJava extension for Android to take images using camera and gallery and pick files up
Stars: ✭ 467 (+1197.22%)
Mutual labels:  photos, camera
Spectaculum
A spectacular view widget for visual media content on Android
Stars: ✭ 78 (+116.67%)
Mutual labels:  photos, camera
MCamera
CameraViewController which allows to take photos, set filters, peform image blurring and more.
Stars: ✭ 28 (-22.22%)
Mutual labels:  photos, camera
Annca
Android library to simplify work with camera for video and photo with using different camera apis.
Stars: ✭ 169 (+369.44%)
Mutual labels:  photos, camera
Pynet Pytorch
Generating RGB photos from RAW image files with PyNET (PyTorch)
Stars: ✭ 169 (+369.44%)
Mutual labels:  photos, camera
Stickercamera
This is an Android application with camera,picture cropping,collage sticking and tagging.贴纸标签相机,功能:拍照,相片裁剪,给图片贴贴纸,打标签。
Stars: ✭ 3,109 (+8536.11%)
Mutual labels:  photos, camera
Pynet
Generating RGB photos from RAW image files with PyNET
Stars: ✭ 211 (+486.11%)
Mutual labels:  photos, camera
Android Camera2 Secret Picture Taker
Take pictures 📷 secretly (without preview or launching device's camera app) using Android CAMERA2 API
Stars: ✭ 275 (+663.89%)
Mutual labels:  photos, camera
Simple Camera
Quick photo and video camera with a flash, customizable resolution and no ads.
Stars: ✭ 503 (+1297.22%)
Mutual labels:  photos, camera
Focus Points
Plugin for Lightroom to show which focus point was active in the camera when a photo was taken
Stars: ✭ 272 (+655.56%)
Mutual labels:  photos, camera
Gncam
📷 A Swift 3 library for interacting with the camera on iOS using AVFoundation
Stars: ✭ 42 (+16.67%)
Mutual labels:  photos, camera
QuickRawPicker
📷 QuickRawPicker is a free and open source program that lets you cull, pick or rate raw photos captured by your camera. It is also compatible with the XMP sidecar file used by Adobe Bridge/Lightroom/Darktable or PP3 sidecar file used by Rawtherapee.
Stars: ✭ 26 (-27.78%)
Mutual labels:  photos, camera
PhotosApp
React Native Photos App: AWS Amplify, AWS S3, Mobile Analytics with Pinpoint
Stars: ✭ 21 (-41.67%)
Mutual labels:  photos, camera
Swiftycam
A Snapchat Inspired iOS Camera Framework written in Swift
Stars: ✭ 1,879 (+5119.44%)
Mutual labels:  photos, camera
Camerafragment
A simple easy-to-integrate Camera Fragment for Android
Stars: ✭ 2,312 (+6322.22%)
Mutual labels:  photos, camera

Chafu

Continuous Integration

Build Server Platform Build Status
AppVeyor Windows AppVeyor Build status
Bitrise macOS Bitrise
VSTS Windows Visual Studio Team services
MyGet Windows chafu MyGet Build Status

Packages

NuGet

Description

Chafu is a photo browser and camera library for Xamarin.iOS. It is heavily inspired from Fusuma, which is a Swift library written by ytakzk.

It has been tweaked for ease of use in a C# environment, all xibs converted to C# code and unnecessary wrapper views have been removed. The library has been simplified and loads of unfixed Fusuma bugs and features have been fixed in this library.

Preview

Features

  • UIImagePickerController alternative
  • Camera roll (images and video)
  • Album view to show images and video from folder
  • Camera for capturing both photos and video
  • Cropping of photos into squares
  • Toggling of flash when capturing photos and video
  • Supports front and back cameras
  • Face detection
  • Customizable

Installation

Install from NuGet

Install-Package Chafu

Note: iOS 10 requires the developer to provide usage descriptions in the info.plist. Otherwise, the application will crash, when requesting permissions to camera, photo library or microphone.

<key>NSPhotoLibraryUsageDescription</key>
<string>Describe what photo library is used for</string>
<key>NSCameraUsageDescription</key>
<string>Describe what camera is used for</string>
<key>NSMicrophoneUsageDescription</key>
<string>Describe what microphone is used for</string>

Usage

Add a using chafu; in the top of your class.

var chafu = new ChafuViewController();
chafu.HasVideo = true; // add video tab
chafu.MediaTypes = MediaType.Image | MediaType.Video // customize what to show
PresentViewController(chafu, true);

or if you only want to show gallery:

var gallery = new AlbumViewController();
gallery.MediaTypes = MediaType.Image | MediaType.Video // customize what to show
PresentViewController(gallery, true);

Both accept custom data source which will be instantiated lazily:

var chafu = new AlbumViewController {
    LazyDataSource = (view, size, mediaTypes) => 
        new LocalFilesDataSource(view, size, mediaTypes) {ImagesPath = path},
    LazyDelegate = (view, source) => new LocalFilesDelegate(view, (LocalFilesDataSource) source),
};

where path is a directory the App has access to.

Events

// When image is selected or captured with camera
chafu.ImageSelected += (sender, image) => imageView.Image = image;

// When video is captured with camera
chafu.VideoSelected += (sender, videoUrl) => urlLabel.Text = videoUrl.AbsoluteString;

// When ViewController is dismissed
chafu.Closed += (sender, e) => { /* do stuff on closed */ };

// When permissions to access camera roll are denied by the user
chafu.CameraRollUnauthorized += (s, e) => { /* do stuff when Camera Roll is unauthorized */ };

// when permissions to access camera are denied by the user
chafu.CameraUnauthorized += (s, e) => { /* do stuff when Camera is unauthorized */ };

Customization

All customization happens through the static Configuration class.

Configuration.BaseTintColor = UIColor.White;
Configuration.TintColor = UIColor.Red;
Configuration.BackgroundColor = UIColor.Cyan;
Configuration.CropImage = false;
Configuration.TintIcons = true;
// etc...

Explore the class for more configuration.

Thanks to

Many thanks to ytakzk for his initial Fusuma implementation, which this library started as.

What does Chafu mean?

Fusuma means bran in Japanese, Chafu in Japanese means chaff. Chaff is sometimes confused with bran.

License

Chafu is licensed under the MIT License, see the LICENSE file for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].