Coder Social home page Coder Social logo

iakmds / librecamera Goto Github PK

View Code? Open in Web Editor NEW
267.0 7.0 26.0 10.5 MB

A free and open source camera app for Android written in Flutter and Dart

Home Page: https://f-droid.org/packages/com.iakmds.librecamera/

License: GNU General Public License v3.0

Kotlin 4.13% Dart 95.87%
android camera f-droid

librecamera's Introduction

๐ŸŒŸ New release: v1.9.1 ๐ŸŒŸ

Take a look at what has changed here!



Translation status

Libre Camera app icon

Libre Camera

A free and open source camera app for Android written in Flutter and Dart licensed under the GPLv3

Get it on F-Droid

Table of Contents

  1. About Libre Camera
  2. Roadmap
  3. Contributing
  4. Packages used
  5. License

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Download

You can download Libre Camera on F-Droid by tapping on the badge below. Alternatively, download and install the apk directly from the GitHub releases page. Downloading directly from the GitHub releases page will likely download a more recent version (if a new version was published recently) โ€“ notice though that the F-Droid and the GitHub versions aren't compatible with one another. You will need to reinstall the app; make sure you remember your settings.

Get it on F-Droid Get it on GitHub

Features

  • Take pictures and record videos with your rear and front camera
  • Privacy: No EXIF metadata saved by default when taking pictures (enable optionally in settings) โ€“ without ads, tracking, or unnecessary permissions
  • Themes: Material Design with a Dark, Light or system theme
  • Multiple languages supported โ€“ Contribute translating your language!
  • Zoom: Zoom with 2 fingers or with an optional slider
  • Timer/Delay: Select a photo capture timer to get ready for your photo
  • Flashlight modes: On at capture, Off, Auto, Always on
  • Focus: Auto focus, locked focus and manual focus by touching the screen
  • Exposure: Auto exposure, locked exposure and manual exposure with an optional slider
  • Image compression: Set the compression amount in the settings
  • Formats: Switch between 3 camera formats (JPEG, PNG, WebP)
  • Resolutions: Switch between different camera resolutions
  • Save location: Choose your preferred save location
  • Small size (<20 MB)
  • Customizable: Open the settings to customize the app to your liking!

Roadmap

Contributing

These are the ways you can contribute to Libre Camera:

Translation status

Translate

Translation status

Translating guide: Translations are now handled using Weblate! To use Weblate, log into your Weblate account and choose one of the 2 components you want to translate: Either the app itself or the F-Droid metadata. Now, select the language you want to translate or add a new language. You will see a list of different strings to choose from; untranslated and unfinished strings will probably be of most interest to you. And finally: Have fun translating!

Before using Weblate you had to translate Libre Camera manually via pull requests. Thank you @Loughty, @zehrique, @vladkorotnev, @metezd, @ZiTAL and @melentan!

Bug Reporting or Feature Requests

Open an issue on GitHub: Open issue

Remember to check for duplicates and try to give important information such as the app version, Android version, etc.

Code

Feel free to send in a pull request! To get started with Flutter, follow this link: https://docs.flutter.dev/get-started/install

  1. Clone this repository
  2. Switch to the project's directory and run flutter pub get to get all necessary packages. To test the app, run the project in debug mode by selecting an Android device or emulator in your preferred Flutter IDE and running the app in debug mode
  3. To build the final app, run the following command in your terminal: flutter build apk โ€“ the output apk will be generated at librecamera/build/app/outputs/apk/release/. To receive all localized strings, run flutter gen-l10n. If you'd like to get multiple apks by splitting them into different platforms (results in smaller sizes), use flutter build apk --split-per-abi.

Packages used

The packages used for this app, also listed in the pubspec.yaml file. See their respective licenses.

Package Use case
camera Camera functionality
device_info_plus Getting the Android version to adapt saving behaviour
dynamic_color Getting the Android Material 3 dynamic color
file_picker Picking the save path
flutter Flutter SDK
flutter_android_volume_keydown Capture photo/video on volume button press
flutter_image_compress Image compression and EXIF metadata removal
flutter_localizations Localization
image Ability to flip captured photos horizontally
intl Localization
native_device_orientation Automatic orientation based on the phones sensor
package_info_plus Display the programs version number
permission_handler Handling permissions
provider State management (localization and themes)
screen_brightness Maximum screen brightness option
shared_preferences Saving app data like settings
smooth_page_indicator Page indicator in the onboarding screen
url_launcher Open the GitHub repository link inside the about menu
video_thumbnail Displaying a captured video inside the thumbnail
wakelock Keeping the display always on

License

This project is licensed under the GNU General Public License Version 3. For details, see LICENSE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.