Add guide document for Tizen.Multimedia.Camera 11/152511/3
authorHaesu Gwon <haesu.gwon@samsung.com>
Tue, 26 Sep 2017 08:37:11 +0000 (17:37 +0900)
committerEditor Lionbridge <TizenEditor.SEL@lionbridge.com>
Wed, 27 Sep 2017 06:32:42 +0000 (09:32 +0300)
PS3: Reviewed

Change-Id: I16b96915485a04961bf83490d7d939673c08a85d
Signed-off-by: Haesu Gwon <haesu.gwon@samsung.com>
org.tizen.guides/html/dotnet/media/camera_cs.htm [new file with mode: 0644]
org.tizen.guides/html/images/using_camera_states_dotnet.png [new file with mode: 0644]

diff --git a/org.tizen.guides/html/dotnet/media/camera_cs.htm b/org.tizen.guides/html/dotnet/media/camera_cs.htm
new file mode 100644 (file)
index 0000000..d2d026f
--- /dev/null
@@ -0,0 +1,489 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+    <meta http-equiv="X-UA-Compatible" content="IE=9" />
+    <link rel="stylesheet" type="text/css" href="../../css/styles.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/snippet.css" />
+    <script type="text/javascript" src="../../scripts/snippet.js"></script>
+    <script type="text/javascript" src="../../scripts/jquery.util.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../scripts/common.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../scripts/core.js" charset="utf-8"></script>
+    <script type="text/javascript" src="../../scripts/search.js" charset="utf-8"></script>
+  <title>Camera</title>
+ </head>
+ <body onload="prettyPrint()" style="overflow: auto;">
+
+ <div id="toc-navigation">
+
+    <div id="toc_border"><div id="toc">
+               <p class="toc-title">Dependencies</p>
+               <ul class="toc">
+                       <li>Tizen 4.0 and Higher</li>
+               </ul>
+        <p class="toc-title">Content</p>
+        <ul class="toc">
+            <li><a href="#prerequisites">Prerequisites</a></li>
+                       <li><a href="#configuring_callback">Configuring the Camera</a></li>
+            <li><a href="#display">Setting the Display for the Camera Preview</a></li>
+            <li><a href="#photo">Taking a Photo</a></li>
+            <li><a href="#attributes">Setting Camera Attributes</a></li>
+            <li><a href="#release">Releasing Resources</a></li>
+        </ul>
+        <p class="toc-title">Related Info</p>
+        <ul class="toc">
+                       <li><a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1Camera.html">Tizen.Multimedia.Camera Class</a></li>
+        </ul>
+    </div></div>
+</div>
+
+<div id="container"><div id="contents"><div class="content">
+<h1>Camera</h1>
+
+ <p>You can use basic camera features, including preview and capture. You can capture still images with the device's internal camera and keep images on your target device.</p>
+
+ <p align="center"><strong>Figure: Camera image examples</strong></p>
+ <p align="center"><img src="../../images/camera_images.png" alt="Camera image examples" /></p>
+
+  <p>The main features of the <code>Tizen.Multimedia.Camera</code> class include:</p>
+  <ul>
+<li>Configuring the camera
+<p>You can <a href="#configuring_callback">configure the camera</a> and set the camera and auto-focus event handlers.</p></li>
+<li>Setting the display for the camera preview
+<p>You can preview images in real time with the <code>StartPreview()</code> method of the <code>Tizen.Multimedia.Camera</code> class. The feature provides:</p>
+ <ul>
+     <li>Support for several pixel formats, such as NV12, NV12T, NV16, NV21, YUYV, UYVY, and YUV420P</li>
+     <li>Preview at the frame rate</li>
+     <li>Rotation and flip of the preview</li>
+    </ul>
+       <p>You can also <a href="#display">customize the display settings for the camera preview</a>.</p></li>
+   <li>Capturing and saving images
+   <p>You can start the camera preview and <a href="#photo">capture an image</a>.</p></li>
+   <li>Setting camera attributes
+   <p>You can <a href="#attributes">control the camera settings</a>:</p>
+    <ul class="indent">
+     <li>Contrast</li>
+     <li>Exposure</li>
+     <li>Brightness</li>
+     <li>Effects</li>
+     <li>ISO</li>
+     <li>White balance</li>
+     <li>Zoom</li>
+     <li>Flash</li>
+     <li>Focus</li>
+     <li>Metering</li>
+        <li>EXIF tag (geo, orientation, software info and description)</li>
+        <li>Scene mode, HDR, theater</li>
+        <li>Image quality</li>
+    </ul>
+       <p>Depending on the camera device type, the device can support different orientations, resolutions, or preview and capture formats. You can obtain this information from the device using the <code>SupportedPreviewResolutions</code>, <code>SupportedCapturePixelFormats</code>, or other <code>SupportedXXX</code> properties of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1CameraFeatures.html">Tizen.Multimedia.CameraFeatures</a> class.</p>
+
+  <p>Since devices can have multiple camera sensors with different capabilities, create a <code>Tizen.Multimedia.Camera</code> instance with a proper <a href="https://developer.tizen.org/dev-guide/csapi/namespaceTizen_1_1Multimedia.html#ab756993928779235b4a1eb3d1b37b92a">Tizen.Multimedia.CameraDevice</a> enumeration value, determining which camera sensor is used. Usually the primary sensor is located on the back side and the secondary sensor on the front side of the device. Once the camera sensor is selected, the selected sensor starts working.</p>
+
+
+    <div class="note">
+        <strong>Note</strong>
+        Simultaneous use of multiple camera sensors is not allowed.
+               <p>The target device often supports more functionalities than the emulator.</p>
+               <p>The behavior of the shutter sound can vary depending on the legislation of each country.</p>
+    </div>
+</li>
+<li>Releasing resources
+<p>When you have finished working with the camera, you can <a href="#release">release the resources</a>.</p></li>
+</ul>
+
+<p>The following figure illustrates the camera state changes in normal mode.</p>
+  <p align="center"><strong>Figure: Camera states in normal mode</strong></p>
+  <p align="center"><img src="../../images/using_camera_states_dotnet.png" alt="Camera states in normal mode" /></p>
+
+<h2 id="prerequisites">Prerequisites</h2>
+
+<p>To enable your application to use the camera functionality:</p>
+
+<ol>
+<li>Create a camera instance:
+<pre class="prettyprint">
+try
+{
+    Camera camera = new Camera(CameraDevice.Rear);
+}
+catch (Exception ex)
+{
+    Log.Error("Camera", "Creating camera instance failed. " + ex.ToString());
+}
+</pre>
+<p>The <code>CameraDevice.Rear</code> parameter means that the currently-activated device camera is the primary camera. You can select between the rear (primary) and front (secondary) camera. The available parameter values are defined in the <a href="https://developer.tizen.org/dev-guide/csapi/namespaceTizen_1_1Multimedia.html#ab756993928779235b4a1eb3d1b37b92a">Tizen.Multimedia.CameraDevice</a> enumeration.</p>
+</li>
+<li>Check the current state of the camera using the <code>State</code> property of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1Camera.html">Tizen.Multimedia.Camera</a> class:
+<pre class="prettyprint">
+CameraState state;
+
+/// Check the camera state after creating the camera
+state = camera.State;
+</pre>
+<p>The returned state is one of the values defined in the <a href="https://developer.tizen.org/dev-guide/csapi/namespaceTizen_1_1Multimedia.html#a49693be0c03639a31049b8b3a09ec170">Tizen.Multimedia.CameraState</a> enumeration. If the state is not <code>Created</code>, re-initialize the camera by recreating the instance.</p>
+</li>
+</ol>
+
+<h2 id="configuring_callback">Configuring the Camera</h2>
+
+<p>After setting up the necessary prerequisites, configure the camera and set the camera preview event handler.</p>
+
+<p>To configure the camera:</p>
+
+<ol>
+<li>Set the image quality using the <code>ImageQuality</code> property of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1CameraSettings.html">Tizen.Multimedia.CameraSettings</a> class:
+<pre class="prettyprint">
+camera.Settings.ImageQuality = 100;
+</pre>
+<p>The image quality value can range from 1 (lowest quality) to 100 (highest quality).</p>
+</li>
+<li>Set the display for showing preview images by using the <code>Display</code> property of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1Camera.html">Tizen.Multimedia.Camera</a> class with 1 of the camera display types (<code>ElmSharp.Window</code> overlay or <code>Tizen.Multimedia.MediaView</code> EVAS surface).
+
+<p>The following examples set the display according to the above display types. The camera state must be <code>Created</code>.</p>
+
+<pre class="prettyprint">
+/// Overlay display type
+camera.Display = new Display(new Window("CameraWindow"));
+
+/// EVAS surface display type
+camera.Display = new Display(new MediaView(new Window("CameraWindow")));
+</pre>
+</li>
+<li>Set the camera preview resolution using the <code>PreviewResolution</code> property of the <code>Tizen.Multimedia.CameraSettings</code> class. You must set this property before previewing.
+
+<p>To find out which resolutions can be set for the camera preview on a specific device, use the <code>SupportedPreviewResolutions</code> property of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1CameraFeatures.html">Tizen.Multimedia.CameraFeatures</a> class. This property returns an <code>IEnumerable</code> variable.</p>
+
+<p>The following example sets the camera preview resolution to the first found supported resolution:</p>
+
+<pre class="prettyprint">
+IList supportedResolutions = _camera.Capabilities.SupportedPreviewResolutions.ToList();
+foreach(Size resolution in supportedResolutions)
+{
+    camera.Settings.PreviewResolution = resolution;
+    break;
+}
+</pre>
+</li>
+<li id="configuring_pixelFormat">Set the capture format using the <code>CapturePixelFormat</code> property of the <code>Tizen.Multimedia.CameraSettings</code> class:
+
+<pre class="prettyprint">
+camera.Settings.CapturePixelFormat = CameraPixelFormat.Jpeg;
+</pre>
+
+<p>The <a href="https://developer.tizen.org/dev-guide/csapi/namespaceTizen_1_1Multimedia.html#afc310b19467df6c8c0e9e1a5d9f86f63">Tizen.Multimedia.CapturePixelFormat</a> enumeration defines the available capture formats.</p>
+</li>
+<li>Register event handlers for managing various events of the <code>Tizen.Multimedia.Camera</code> class, related to the camera preview, auto-focus, and capturing:
+
+<ul>
+<li id="callbacks_preview">To handle the camera preview, register an event handler for the <code>Preview</code> event. The event handler is invoked once per frame during a preview.
+
+<pre class="prettyprint">
+public static void PreviewEventHandler(object sender, PreviewEventArgs e)
+{
+    /// Do something
+}
+
+camera.Preview += PreviewEventHandler;
+</pre>
+</li>
+<li id="callbacks_focus">To receive notifications about auto-focus state changes, register an event handler for the <code>FocusStateChanged</code> event. The event handler is invoked every time the auto-focus state changes.
+
+<pre class="prettyprint">
+public static void FocusStateChangedEventHandler(object sender, CameraFocusStateChangedEventArgs e)
+{
+    Log.Info("Camera", "Focus state is changed to " + e.State.ToString());
+}
+
+camera.FocusStateChanged += FocusStateChangedEventHandler;
+</pre>
+
+<p>Before auto-focusing starts, the auto-focus state is <code>Released</code>. After the <code>StartFocusing()</code> method is called, the camera starts auto-focusing and the state changes to <code>Ongoing</code>. If auto-focusing finishes successfully, the state changes to <code>Focused</code>. If auto-focusing fails, the state changes to <code>Failed</code>.</p>
+</li>
+<li>To receive a captured still image, register an event handler for the <code>Capturing</code> event. The event handler is invoked once for each captured frame, and is used to get information about the captured image.
+<p>The image is saved in the format set by the <code>CapturePixelFormat</code> property of the <code>Tizen.Multimedia.CameraSettings</code> class in the previous step.</p>
+
+<p>The following event handler example saves the captured frame as a JPEG image:</p>
+
+<pre class="prettyprint">
+public static void CapturingEventHandler(object sender, CameraCapturingEventArgs e)
+{
+    if (e.MainImage != null)
+    {
+        /// PostView and Thumbnail can be null
+        if (e.MainImage.Data.Length &gt; 0)
+        {
+            File.WriteAllBytes("StillImage.jpg", e.MainImage.Data);
+        }
+    }
+}
+
+camera.Capturing += CapturingEventHandler;
+</pre>
+</li>
+<li>To receive a notification when the image has been captured, register an event handler for the <code>CaptureCompleted</code> event. The event handler is invoked after the event handler of the <code>Capturing</code> event completes, and is used for notification and for restarting the camera preview.
+
+<p>The following event handler example restarts the camera preview:</p>
+
+<pre class="prettyprint">
+public static void CaptureCompletedEventHandler(object sender, EventArgs e)
+{
+    camera.StartPreview();
+}
+
+camera.CaptureCompleted += CaptureCompletedEventHandler;
+</pre>
+</li>
+</ul>
+</li>
+</ol>
+
+<h2 id="display">Setting the Display for the Camera Preview</h2>
+
+<p>Before displaying the camera preview on the screen, check the camera display settings. You can use the default display settings provided by the Camera framework, or you can customize the display settings to meet your needs.</p>
+
+<p>To customize the display settings:</p>
+
+<ul>
+<li>Camera selection and orientation
+
+<p>Before you can correctly customize the display settings, you need to know which camera is active (front or back) and at what angle the physical camera is being held (orientation):</p>
+
+<ul>
+<li>To determine the active camera, check the <a href="https://developer.tizen.org/dev-guide/csapi/namespaceTizen_1_1Multimedia.html#ab756993928779235b4a1eb3d1b37b92a">Tizen.Multimedia.CameraDevice</a> enumeration value:
+
+<pre class="prettyprint">
+public enum CameraDevice
+{
+    Rear, /// Rear camera
+    Front /// Front camera
+}
+</pre>
+
+<p>The rear camera is usually the primary camera, and the front camera is usually the secondary camera. If, for example, you created the camera instance for the primary camera, the camera preview shows the rear camera view.</p>
+</li>
+<li>To determine the current camera angle, use the <code>LensOrientation</code> property of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1CameraSettings.html">Tizen.Multimedia.CameraSettings</a> class:
+
+<pre class="prettyprint">
+int angle = camera.Settings.LensOrientation;
+</pre>
+
+<p>The returned value of the <code>angle</code> variable is in degrees.</p>
+</li>
+</ul>
+
+<p>Once you know the active camera and its current orientation angle (or tilt), you can calculate how to rotate the display to match the camera orientation, and whether and how to flip the display to create the mirror effect if the front camera is active.</p>
+
+<p>To correctly rotate the display as the camera orientation changes, think about the orientation and direction of the physical camera lens relative to the display. If the camera faces away from the display, the camera orientation is calculated clockwise across the display. If the camera faces the same way as the display, the camera orientation is calculated counter-clockwise across the display. For example, if the camera and display face in opposite directions, the right side of the image is at 90 degrees, and if the camera and display face in the same direction, the right side is at 270 degrees (360 - 90).</p>
+</li>
+<li>Display rotation
+
+<p>The display rotation setting is preset to a default value for each camera. Before changing the display rotation value, retrieve the default value using the <code>Rotation</code> property of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1CameraDisplaySettings.html">Tizen.Multimedia.CameraDisplaySettings</a> class:</p>
+
+<pre class="prettyprint">
+Rotation rotation = camera.DisplaySettings.Rotation;
+</pre>
+
+<p>Calculate and set a new display rotation value based on the current camera orientation:</p>
+
+<pre class="prettyprint">
+int lengOrientation;
+int displayRotationAngle;
+Rotation displayRotation = Rotation.Rotate0;
+
+/// Get the recommended display rotation value
+lengOrientation = camera.Settings.LensOrientation;
+displayRotationAngle = (360 - lengOrientation) % 360;
+
+/// Convert the display rotation value to an enumerator type
+switch (displayRotationAngle)
+{
+    case 0:
+        displayRotation = Rotation.Rotate0;
+        break;
+    case 90:
+        displayRotation = Rotation.Rotate90;
+        break;
+    case 180:
+        displayRotation = Rotation.Rotate180;
+        break;
+    case 270:
+        displayRotation = Rotation.Rotate270;
+        break;
+    default:
+        displayRotation = Rotation.Rotate0;
+        break;
+}
+
+/// Set the display rotation
+camera.DisplaySettings.Rotation = displayRotation;
+</pre>
+</li>
+<li>Display flip
+
+<p>The display flip setting is preset to a default value for each camera. For example, to support the mirror mode, the secondary (front) camera is set as flipped by default.</p>
+
+<p>Before changing the display flip value, retrieve the default value using the <code>Flip</code> property of the <code>Tizen.Multimedia.CameraDisplaySettings</code> class:</p>
+
+<pre class="prettyprint">
+Flips displayFlip = camera.DisplaySettings.Flip;
+</pre>
+
+<p>Calculate and set a new display flip value based on the direction the camera is facing and the current camera orientation:</p>
+
+<pre class="prettyprint">
+/// If the camera is facing in the same direction as the display,
+/// apply flip to the front camera because of the mirror effect
+
+int lengOrientation;
+int displayRotationAngle;
+Flips displayFlip = Flips.None;
+
+/// Get the recommended display rotation value
+lengOrientation = camera.Settings.LensOrientation;
+displayRotationAngle = (360 - lengOrientation) % 360;
+
+/// Set the mirror display
+if (displayRotationAngle == 90 || displayRotationAngle == 270)
+{
+    displayFlip = Flips.Vertical;
+}
+else
+{
+    displayFlip = Flips.Horizontal;
+}
+
+/// Set the display flip
+camera.DisplaySettings.Flip = displayFlip;
+</pre>
+
+<p>The system applies display flip after display rotation, so you must always calculate the correct display flip value after determining the display rotation.</p>
+</li>
+</ul>
+
+  <div class="note">
+        <strong>Note</strong>
+        For an overlay surface, when the device orientation changes, the displayed camera preview does not rotate automatically. If you want to rotate the display according to the device orientation, use the <code>Rotation</code> property of the <code>Tizen.Multimedia.CameraDisplaySettings</code> class.
+   <p>For an Evas surface, the Evas object for the camera display is rotated by the window manager used by the application, not by the <code>Rotation</code> property.</p>
+    </div>
+
+<h2 id="photo">Taking a Photo</h2>
+
+<p>To take a photo:</p>
+
+<ol>
+<li><a href="#configuring_callback">After configuring the camera</a>, start the camera preview using the <code>StartPreview()</code> method of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1Camera.html">Tizen.Multimedia.Camera</a> class:
+
+<pre class="prettyprint">
+camera.StartPreview();
+</pre>
+
+<p>The camera preview draws preview frames on the screen and allows you to capture frames as still images.</p>
+
+<p>After starting the camera preview, the application flows as follows:</p>
+
+<ol type="a">
+<li>During the camera preview, the application calls the <a href="#callbacks_preview">camera preview event handler</a> for each frame.</li>
+
+<li>The camera preview event handler calls the <code>StartFocusing()</code> method, which starts the auto-focusing process.</li>
+
+<li>During auto-focusing, as the auto-focus state changes, the application calls the <a href="#callbacks_focus">camera auto-focus event handler</a>.</li>
+</ol>
+</li>
+<li>When the preview and auto-focus processes are completed, the application can start image capturing.
+<p>To capture an image, use the <code>StartCapture()</code> method:</p>
+<pre class="prettyprint">
+camera.StartCapture();
+</pre>
+</li>
+</ol>
+
+<h2 id="attributes">Setting Camera Attributes</h2>
+
+<p>You can set various camera attributes with the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1CameraSettings.html">Tizen.Multimedia.CameraSettings</a> class.</p>
+
+<p>To set some attributes:</p>
+
+<ul>
+<li>Camera preview attributes:
+
+<p>The camera preview attributes are a group of attributes that you can set before starting the preview. The following example sets the FPS and image quality attributes:</p>
+
+<pre class="prettyprint">
+camera.Settings.PreviewFps = CameraFps.Auto;
+
+camera.Settings.ImageQuality = 100;
+</pre>
+</li>
+<li>Camera zoom attribute:
+
+<p>Retrieve the range of available zoom level values using the <code>ZoomRange</code> property, and set the zoom level using the <code>ZoomLevel</code> property. The following example retrieves the available zoom level range and sets the zoom level to minimum:</p>
+
+<pre class="prettyprint">
+Range zoomRange = camera.Settings.ZoomRange;
+
+camera.Settings.ZoomLevel = zoomRange.Min;
+</pre>
+</li>
+<li>Camera brightness attribute:
+
+<p>Retrieve the range of available brightness level values using the <code>BrightnessRange</code> property, and the current brightness level using the <code>Brightness</code> property. The following example retrieves the available brightness level range and sets the brightness level to minimum:</p>
+
+<pre class="prettyprint">
+Range brightnessRange = camera.Settings.BrightnessRange;
+int brightness = camera.Settings.Brightness;
+
+/// Set a new brightness level
+camera.Settings.Brightness = brightnessRange.Min;
+</pre>
+</li>
+</ul>
+
+<h2 id="release">Releasing Resources</h2>
+
+<p>After you have finished working with the camera, stop the camera and clean up the application environment:</p>
+
+<ol>
+<li>If auto-focus is switched on, switch if off using the <code>StopFocusing()</code> method of the <a href="https://developer.tizen.org/dev-guide/csapi/classTizen_1_1Multimedia_1_1Camera.html">Tizen.Multimedia.Camera</a> class:
+
+<pre class="prettyprint">
+camera.StopFocusing();
+</pre>
+</li>
+<li>Stop the camera preview using the <code>StopPreview()</code> method:
+
+<pre class="prettyprint">
+camera.StopPreview();
+</pre>
+</li>
+<li>Destroy the camera handle and release all its resources using the <code>Dispose()</code> method:
+
+<pre class="prettyprint">
+camera.Dispose();
+</pre>
+</li>
+</ol>
+
+<script type="text/javascript" src="../../scripts/jquery.zclip.min.js"></script>
+<script type="text/javascript" src="../../scripts/showhide.js"></script>
+</div></div></div>
+
+<a class="top sms" href="#"><img src="../../images/btn_top.gif" alt="Go to top" /></a>
+
+<div id="footer">
+<p class="footer">Except as noted, this content - excluding the Code Examples - is licensed under <a href="http://creativecommons.org/licenses/by/3.0/legalcode" target="_blank">Creative Commons Attribution 3.0</a> and all of the Code Examples contained herein are licensed under <a href="https://www.tizen.org/bsd-3-clause-license" target="_blank">BSD-3-Clause</a>.<br/>For details, see the <a href="https://www.tizen.org/content-license" target="_blank">Content License</a>.</p>
+</div>
+
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(['_setAccount', 'UA-25976949-1']);
+_gaq.push(['_trackPageview']);
+(function() {
+var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.tizen.guides/html/images/using_camera_states_dotnet.png b/org.tizen.guides/html/images/using_camera_states_dotnet.png
new file mode 100644 (file)
index 0000000..6141eae
Binary files /dev/null and b/org.tizen.guides/html/images/using_camera_states_dotnet.png differ