This document introduces you to Histogram.
Histogram provides the functionality needed to work with histogram data in a specified format for an image (for example, luminance based histogram or average colour value histogram).
The data generated can be application rendered. In this case the application gets histogram frequencies and renders them onto a bitmap. The data can also be camera rendered, meaning it is displayed directly in the viewfinder. In the camera rendered case, the client can specify properties of the histogram such as size, colour and position.
Histogram Library Details
The DLL that provides the functionality and the library to which your code must link is identified below.
Histogram is part of the camera component.
Histogram allows only one type per object. To allow multiple types of histogram for a given imaging mode, multiple histogram objects need to be created for that imaging mode. Histogram objects are created separately for still images, video, viewfinders and snapshots. Call-backs associated with still images, video and viewfinders notify clients about the generation of histogram data. For client histograms, the data is available in buffers.
MhistogramV2Buffer interface provides only one buffer at a time. Unless new histogram data is available through MhistogramV2Buffer, the same histogram data is used for the image modes.
The key classes that make up the Histogram are as follows:
Exposes an API for the client to get client histogram data and also to display the direct histogram on the screen.
A facade class, which is used to access camera histogram functionality.
CCamera::CCameraHistogram::PrepareHistogramL()
Set the properties of a histogram
CCamera::CCameraHistogram::StartHistogramL()
Request to start receiving histogram data. The camera calls the client's callback MCameraObserver2 interface, with event KUidECamEventCameraHistogram, when histogram data is available to be retrieved.
CCamera::CCameraHistogram::HistogramDataL()
Retrieve the histogram data from the Camera server. The data is returned in an MHistogramBuffer object.
CCamera::CCameraHistogram::StopHistogramL()
Stop receiving histogram notifications. Use CCamera::CCameraHistogram::DestroyHistogramL() to remove the histogram from the Camera server, and release its resources.
Interface class for which the device creator must provide an implementation.
Interface class to transfer histogram data from server to client. The buffer may contain multiple histograms. The class allows the client to access the data as a descriptor to a kernel.
Clients can use the histogram to:
Overview of Camera Framework