open-camera/_docs/index.html

327 lines
22 KiB
HTML
Raw Normal View History

2025-11-22 13:52:14 +01:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<title>Open Camera
</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- viewport recommended by Google for mobile design, also required for Google's mobile-friendly test at https://www.google.co.uk/webmasters/tools/mobile-friendly/ -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="stylesheet.css" type="text/css">
<!--<script>
var old_domain = "//opencamera.sourceforge.net";
if( window.location.href.indexOf(old_domain) >= 0 ) {
window.location.href = window.location.href.replace(old_domain, "//opencamera.org.uk");
}
</script>-->
<script>
var old_domain = "//opencamera.sourceforge.io";
if( window.location.href.indexOf(old_domain) >= 0 ) {
window.location.href = window.location.href.replace(old_domain, "//opencamera.org.uk");
}
</script>
<!-- EU cookie law, needed for analytics and adsense -->
<!-- Begin Cookie Consent plugin by Silktide - http://silktide.com/cookieconsent -->
<script type="text/javascript">
window.cookieconsent_options = {
"message":"This website uses cookies, including for Google Analytics and to display ads",
"dismiss":"Got it!",
"learnMore":"More info",
"link":"privacy_oc.html",
"theme":"dark-bottom"};
</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script>
<!-- End Cookie Consent plugin -->
<!-- Google Analytics -->
<!-- anonymize_ip is set: unclear if this is needed for EU GDPR, but just in case -->
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-38364448-5"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-38364448-5', { 'anonymize_ip': true });
</script>
<!-- Google adsense auto ads -->
<!-- If removing/changing this code, check the "Revoke or change cookie consent" link still works -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-1960368062214160",
enable_page_level_ads: true
});
</script>
</head>
<body>
<img align="left" src="ic_launcher.png" alt="Open Camera icon" title="Open Camera icon" width="72" height="72">
<hr>
<div style="text-align: center;"><h2>Open Camera</h2></div>
<hr>
<!--<p><a href="screenshot_galaxy_nexus_3.jpg">
<img align="right" src="screenshot_galaxy_nexus_3.jpg" title="Screenshot" width="360" height="640"></a></p>-->
<!--<p><a href="Screenshot_2014-07-02-14-16-35.jpg">
<img align="right" src="Screenshot_2014-07-02-14-16-35.jpg" title="Screenshot" width="640" height="360"></a></p>-->
<!--<p><a href="Screenshot_2014-09-22-14-34-48.jpg">
<img align="right" src="Screenshot_2014-09-22-14-34-48_thumbversion.jpg" title="Screenshot" style="max-width:33%">
</a></p>-->
<div style="display:block;float:right;margin: 5px 0px 5px 0px;width:40%">
<!-- div to contain the screenshot and the ads. Important to use width and not max-width, otherwise
responsive ads won't show (at least on my Nexus 6)!
If any code is changed here, make sure layout is still good and ads show on laptop, Nexus 6 and Galaxy Nexus.
-->
<!-- Remember that ad must not be more than 30% of total page content height (i.e., total page, not just what's
on screen in the viewport. -->
<!--<a href="Screenshot_2014-09-22-14-34-48.jpg">
<img src="Screenshot_2014-09-22-14-34-48_thumbversion.jpg" alt="Screenshot" title="Screenshot" style="max-width:100%">
</a>-->
<!-- we set max width of 100%, as this is in terms of the outer div (which has width 33%), and we don't want this being larger than the div -->
<!-- "Aligning images with ads" not allowed - unclear how much separation/distinction is required between an image and ad, for now comment out the image -->
<!-- Make sure that this ad doesn't doesn't occupy full page, "Site layout that pushes content below the fold" -->
<div style="min-width:125px;margin-top:5px">
<!-- need min-width of 125px for responsive ads; optionally set a max-width if necessary so that ads aren't huge on non-mobile
browsers -->
<!-- If removing/changing this code, check the "Revoke or change cookie consent" link still works -->
<!-- start adsense code -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- ad_top_responsive -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1960368062214160"
data-ad-slot="3383301936"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- end adsense code -->
</div>
</div>
<p><small><a href="help.html">Jump to Instructions.</a></small></p>
<p>Open Camera is an Open Source Camera app for Android&trade; phones and tablets. Features:</p>
<ul style="font-size:small">
<li>Option to <a href="help.html#auto_stabilise">auto-level</a> so your pictures are perfectly level no matter what.</li>
<li>Expose your camera's functionality: support for scene modes, color effects, white balance, ISO, exposure compensation/lock, selfie with "screen flash", HD video and more.</li>
<li>Handy remote controls: timer (with optional voice countdown), auto-repeat mode (with configurable delay).</li>
<li>Option to take photo remotely by making a noise<!--, or by voice command "cheese"-->.</li>
<li>Configurable volume keys and user interface.</li>
<li>Upside-down preview option for use with attachable lenses.</li>
<li>Overlay a choice of grids and crop guides.</li>
<li>Optional GPS location tagging (geotagging) of photos and videos; for photos this includes compass direction (GPSImgDirection, GPSImgDirectionRef).</li>
<li>Apply date and timestamp, location coordinates, and custom text to photos; store date/time and location as video subtitles (.SRT).</li>
<li>Option to remove device exif metadata from photos.</li>
<li>Panorama, including for front camera.</li>
<li>Support for <a href="help.html#hdr">HDR</a> (with auto-alignment and ghost removal) and Exposure Bracketing.</li>
<li>Support for Camera2 API: manual controls (with optional focus assist); burst mode; RAW (DNG) files; camera vendor extensions; slow motion video; log profile video.</li>
<li>Noise reduction (including low light night mode) and Dynamic range optimisation modes.</li>
<li>Options for on-screen histogram, zebra stripes, focus peaking.</li>
<li>Focus bracketing mode.</li>
<li>Completely free, and no third party ads in the app (I only run third party ads on the website). Open Source.</li>
</ul>
<p>(Some features may not be available on all devices, as they may depend on hardware or camera features, the Android version, etc.)</p>
<!-- we don't use the Google Play badge because it looks awful - comes out way too big?! -->
<p><a href="https://play.google.com/store/apps/details?id=net.sourceforge.opencamera">Get it on Google Play.</a></p>
<hr>
<p>
<a href="https://sourceforge.net/p/opencamera/blog/">Open Camera Blog</a> ~
<a href="https://sourceforge.net/p/opencamera/discussion/">Discussion Forums</a> ~
<a href="https://sourceforge.net/p/opencamera/code/">Code Repository (Git)</a>
</p>
<!-- if changing the a name="contents", remember to update links to this, specifically the link from privacy policy -->
<p><a name="contents"><b>Contents:</b></a></p>
<ul>
<li><a href="#requirements">Requirements</a></li>
<li><a href="help.html">Instructions</a></li>
<li><a href="#credits">Credits</a></li>
<li><a href="privacy_oc.html">Privacy policy</a></li>
<li><a href="javascript:googlefc.callbackQueue.push(googlefc.showRevocationMessage)">Revoke or change cookie consent for personal data (for EU/GDPR countries)</a></li>
<!-- Needed for adsense policies! If we change the wording of the above link, remember to update the privacy policy that refers to this. -->
<li><a href="#licence">Licence and Terms of Service</a></li>
<li><a href="history.html">History</a></li>
</ul>
<!-- don't have ads too close to download links! -->
<hr>
<!-- Remember that ad must not be more than 30% of total page content height (i.e., total page, not just what's
on screen in the viewport. -->
<!-- If removing/changing this code, check the "Revoke or change cookie consent" link still works -->
<!-- start adsense code -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- contents_ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1960368062214160"
data-ad-slot="6626649930"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- end adsense code -->
<hr>
<h2><a name="requirements"><b>Requirements</b></a></h2>
<p>Open Camera requires Android 5.0 or better (versions 1.53.1 or earlier also supported 4.0.3 or better).
Some features may only be available
on some devices (it may depend on Android version, or require specific support from the camera/device).</p>
<p>Note that it's not possible for me to test Open Camera on every Android device out there, let alone in combination with different
Android versions (or especially alternative ROMs). Please test before using Open Camera to photo/video
your wedding etc :)</p>
<p>See <a href="devices.html">here</a> for some details on issues with various devices.</p>
<h2><a href="help.html">Instructions</a></h2>
<h2><a name="credits"><b>Credits</b></a></h2>
<p>Open Camera is written by Mark Harman with additional contributors, see <a href="credits.html">credits</a> for details.</p>
<h2><a name="privacy"><b>Privacy policy</b></a></h2>
<!-- keep this #privacy link, due to old sites or versions of Open Camera that used to link to this -->
<p>See <a href="privacy_oc.html">my privacy policy</a> for details.</p>
<h2><a name="licence"><b>Licence and Terms of Service</b></a></h2>
<!-- note this is linked to inside of Open Camera, so be careful of changing the link -->
<!-- also linked from other pages on this site, and Google Play store listing -->
<!-- we also say Terms of Service due to the Google unwanted software policy -->
<p>Open Camera is released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPL v3 or later</a>. The source code is
available from
<!-- use &#8203; to limit widths on continuous text to 30 characters, to avoid messing up view on mobile devices -->
<a href="https://sourceforge.net/projects/opencamera/files/">https://sourceforge.net/&#8203;projects/opencamera/files/</a> .
<!--The file exposure.png is also dual licensed under GPL v3 or later, and <a href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> or later (attribute to Mark Harman and please link to http://opencamera.sourceforge.net/ ).-->
Also see <i>"Can I use the Open Camera source code in my app?"</i> under the <a href="help.html#usesource">FAQ</a>.
</p>
<p>Open Camera uses the AndroidX/Jetpack libraries, under <a href="https://www.apache.org/licenses/LICENSE-2.0.html">Apache license version 2.0</a>.</p>
<p>The following files are used in Open Camera:</p>
<ul style="font-size:small">
<!-- use &#8203; to limit widths on continuous text to 30 characters, to avoid messing up view on mobile devices -->
<!-- also use small to further reduce chance of problem on mobile devices, and reduce amount of space taken up -->
<li>Open Camera uses icons from Google's Material Design icons - from
<a href="https://developer.android.com/design/downloads/index.html">https://developer.android.com/&#8203;design/downloads/index.html</a> /
<a href="https://design.google.com/icons/">https://design.google.com/icons/</a> /
<a href="https://github.com/google/material-design-icons/">https://github.com/google/material-design-icons/</a> /
<a href="https://google.github.io/material-design-icons/">https://google.github.io/material-design-icons/</a> /
<a href="https://fonts.google.com/icons">https://fonts.google.com/icons</a> ,
by Google, under <a href="https://www.apache.org/licenses/LICENSE-2.0.html">Apache license version 2.0</a>
(licence text also available <a href="google_material_design_icons_LICENSE-2.0.txt">here</a>.)
(some cases include modifications, no need to credit me).
In particular:
baseline_add_a_photo_white_48.png,
baseline_bedtime_white_48.png
baseline_bluetooth_white_48.png, baseline_check_white_48.png, baseline_close_white_48.png,
baseline_delete_white_48.png,
baseline_face_retouching_natural_white_48.png,
baseline_filter_vintage_white_48.png,
baseline_folder_open_white_48.png,
baseline_highlight_white_48.png,
baseline_panorama_horizontal_white_48.png,
baseline_photo_library_white_48.png,
baseline_portrait_white_48.png,
baseline_remove_red_eye_white_48.png,
baseline_rotate_left_white_48.png, baseline_rotate_right_white_48.png,
baseline_shutter_speed_white_48.png,
baseline_switch_camera_white_48.png, <!-- baseline_switch_camera_white_48.png no longer used in v1.53 onwards -->
baseline_text_fields_red_48.png (modified from baseline_text_fields_white_48), baseline_text_fields_white_48.png,
exposure_locked.png (modified from baseline_lock_white_48 and ic_exposure_white_48dp),
exposure_unlocked.png (modified from baseline_lock_open_white_48 and ic_exposure_white_48dp),
flash_auto.png (from baseline_flash_auto_white_48), flash_off.png (from baseline_flash_off_white_48),
flash_on.png (from ic_action_flash_on),
focus_mode_continuous_picture.png and focus_mode_continuous_video.png (from baseline_loop_white_48),
focus_mode_infinity (from baseline_loop_white_48),
focus_mode_locked.png (modified from baseline_lock_white_48),
ic_burst_mode_white_48dp.png, ic_colorize_white_48dp.png,
ic_exposure_red_48dp.png, ic_exposure_white_48dp.png, ic_face_red_48dp.png (modified from ic_face_white_48dp), ic_face_white_48dp.png,
ic_fast_forward_white_48dp.png,
ic_gps_fixed_red_48dp.png (modified from ic_gps_fixed_white_48dp), ic_gps_fixed_white_48dp.png,
ic_gps_off_white_48dp.png, ic_hdr_on_white_48dp.png, ic_help_outline_white_48dp.png, ic_info_outline_white_48dp.png,
ic_launcher_take_photo.png (modified from ic_photo_camera_white_48dp),
ic_mic_off_white_48dp.png, ic_mic_red_48dp.png (modified from ic_mic_white_48dp), ic_mic_white_48dp.png,
ic_more_horiz_white_48dp.png,
ic_pause_circle_outline_white_48dp.png, ic_photo_camera_white_48dp.png, ic_photo_size_select_large_white_48dp.png,
ic_play_circle_outline_white_48dp.png,
ic_power_settings_new_white_48dp.png, ic_save_white_48dp.png,
ic_slow_motion_video_white_48dp.png,
ic_text_format_red_48dp.png (modified from ic_text_format_white_48dp), ic_text_format_white_48dp.png,
ic_timelapse_white_48dp.png, ic_timer_white_48dp.png,
ic_touch_app_white_48dp.png, ic_videocam_white_48dp.png,
ic_stat_notify_take_photo.png (modified from ic_photo_camera_white_48dp),
key_visualizer_red.xml (modified from key_visualizer), key_visualizer.xml,
popup*.png (modified from ic_more_vert_white, baseline_highlight_white, baseline_remove_red_eye_white, baseline_flash_auto_white,
baseline_flash_off_white, ic_action_flash_on),
settings.png (from ic_action_settings), share.png (from ic_action_share),
switch_camera.png (modified from baseline_loop_white_48),
take_photo.png (modified from ic_photo_camera_white_48dp), take_photo_pref.png (modified from ic_photo_camera_white_48dp),
take_photo_pressed.png (modified from ic_photo_camera_white_48dp), take_photo_when_video_recording.png (modified from ic_photo_camera_white_48dp),
take_video.png (modified from baseline_videocam_white_48), take_video_pref.png (modified from baseline_videocam_white_48),
take_video_pressed.png (modified from baseline_videocam_white_48), take_video_recording.png (modified from baseline_videocam_white_48),
white_balance_locked.png (modified from baseline_lock_white_48),
white_balance_unlocked.png (modified from baseline_lock_open_white_48).
<br>Modified versions of some of these icons are also used on this website.
<br>Open Camera's app icon/logo also makes use of ic_photo_camera by Google (also Apache license version 2.0).</li>
</ul>
<p>Note that old versions of Open Camera also used the following:</p>
<ul style="font-size:small">
<!-- use &#8203; to limit widths on continuous text to 30 characters, to avoid messing up view on mobile devices -->
<!-- also use small to further reduce chance of problem on mobile devices, and reduce amount of space taken up -->
<!-- useful to attribute for old versions in case people still using older versions, not to mention things like screenshots
of old versions; but no need to mention CC0 media which doesn't require attribution -->
<!--<li>Icon is from <a href="http://commons.wikimedia.org/wiki/File:Camera2_mgx.svg">http://commons.wikimedia.org/&#8203;wiki/File:Camera2_mgx.svg</a> , by AlphaZeta, under CC0 (public domain).</li>-->
<!--<li>Icon/logo is from <a href="http://aboutfoto.wordpress.com/2014/09/20/a-logo-for-open-camera/">http://aboutfoto.wordpress.com/&#8203;2014/09/20/&#8203;a-logo-for-open-camera/</a> , by Cosmin Saveanu, under CC0 (public domain).</li>-->
<!--<li>earth.png, earth_off.png from <a href="http://commons.wikimedia.org/wiki/File:NASA_Earth_America_2010.jpg">http://commons.wikimedia.org/&#8203;wiki/&#8203;File:NASA_Earth_America_2010.jpg</a> , public domain.</li>-->
<!--<li>beep.ogg, beep_hi.ogg - from <a href="http://opengameart.org/content/interface-beeps">http://opengameart.org/&#8203;content/interface-beeps</a> , by bart, under <a href="http://creativecommons.org/publicdomain/zero/1.0/">CC0 (public domain)</a>.</li>-->
<li>exposure_locked.png, focus_mode_locked.png, white_balance_locked.png modified from https://www.iconfinder.com/&#8203;icons/128411/&#8203;antivirus_close_forbid_hide_&#8203;lock_locked_password_privacy_&#8203;private_protection_restriction&#8203;_safe_secure_security_icon#&#8203;size=64 , by Aha-Soft, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a> (no need to credit me).</li>
<li>exposure_unlocked.png, white_balance_unlocked.png modified from https://www.iconfinder.com/&#8203;icons/128416/&#8203;free_freedom_hack_lock_open_&#8203;padlock_password_secure_&#8203;security_unlock_unlocked_icon#&#8203;size=64 , by Aha-Soft, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a> (no need to credit me).</li>
<li>flash_off.png, flash_auto.png, flash_on.png from https://www.iconfinder.com/&#8203;icons/62201/flash_icon#size=64, by The Working Group, under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>.</li>
<li>flash_red_eye.png, popup_flash_red_eye.png from https://www.iconfinder.com/&#8203;icons/103177/&#8203;eye_see_view_watch_icon#&#8203;size=128 , by Designmodo / Andrian Valeanu, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a> (no need to credit me).</li>
<li>flash_torch.png, popup_torch.png from https://www.iconfinder.com/&#8203;icons/51924/&#8203;bulb_light_icon#size=128 , by IconFinder - http://www.iconfinder.net , by <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>focus_mode_macro.png from https://www.iconfinder.com/&#8203;icons/81105/&#8203;macro_mb_icon#size=128 , by Yankoa - http://yankoa.deviantart.com/ , under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>gallery.png from https://www.iconfinder.com/&#8203;icons/6915/&#8203;book_gallery_images_photos_&#8203;pictures_icon#size=128, by Alessandro Rei, under <a href="http://www.gnu.org/copyleft/gpl.html">GPL v3</a>.</li>
<li>settings.png from https://www.iconfinder.com/&#8203;icons/115801/&#8203;settings_icon#size=128, by Designmodo / Andrian Valeanu, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>share.png from https://www.iconfinder.com/&#8203;icons/111030/&#8203;share_icon#size=128, by WPZOOM, under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>.</li>
<li>switch_camera.png from https://www.iconfinder.com/&#8203;icons/103031/&#8203;3d_rotate_icon#size=64, by Valera Zvonko, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>switch_video.png from https://www.iconfinder.com/&#8203;icons/92787/&#8203;film_photo_icon#size=32, by FatCow Web Hosting, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>switch_video.png - merged from images https://www.iconfinder.com/&#8203;icons/81087/&#8203;mb_photo_icon#size=128 and https://www.iconfinder.com/&#8203;icons/81197/&#8203;mb_rec_video_icon#size=128 by Yankoa, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a> (no need to credit me).</li>
<li>take_video.png, take_video_pref.png, take_video_pressed.png, take_video_recording.png from https://www.iconfinder.com/&#8203;icons/81197/&#8203;mb_rec_video_icon#size=128 , by Yankoa - http://yankoa.deviantart.com/ , under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>App icon/logo, take_photo.png, take_photo_pressed.png from https://www.iconfinder.com/&#8203;icons/81087/&#8203;mb_photo_icon#size=128, by Yankoa, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
<li>trash.png from https://www.iconfinder.com/&#8203;icons/115789/&#8203;trash_icon#size=128, by Designmodo / Andrian Valeanu, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</li>
</ul>
<p>Android, Google Play and the Google Play logo are trademarks of Google LLC.</p>
<h2><a href="history.html">History</a></h2>
<hr>
<p><a href="privacy_oc.html">Open Camera Privacy Policy.</a></p>
<p>This website uses icons from third party sources, see <a href="index.html#licence">licences.</a></p>
<p><a href="https://sourceforge.net/projects/opencamera/">Open Camera on Sourceforge.</a></p>
<hr>
</body>
</html>