Add a color filter property to QCameraImageProcessing.
[ChangeLog] New color filter property for QCameraImageProcessing. Change-Id: I999e349e3e4f284b533fa62ba50903fbd21cb400 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
This commit is contained in:
committed by
Andrew den Exter
parent
be7fef656a
commit
25ad679c25
@@ -49,6 +49,7 @@ QT_BEGIN_NAMESPACE
|
||||
static void qRegisterCameraImageProcessingMetaTypes()
|
||||
{
|
||||
qRegisterMetaType<QCameraImageProcessing::WhiteBalanceMode>();
|
||||
qRegisterMetaType<QCameraImageProcessing::ColorFilter>();
|
||||
}
|
||||
|
||||
Q_CONSTRUCTOR_FUNCTION(qRegisterCameraImageProcessingMetaTypes)
|
||||
@@ -317,5 +318,63 @@ void QCameraImageProcessing::setDenoisingLevel(qreal level)
|
||||
\value WhiteBalanceVendor Base value for vendor defined white balance modes.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\enum QCameraImageProcessing::Filter
|
||||
|
||||
\value ColorFilterNone No filter is applied to images.
|
||||
\value ColorFilterGrayscale A grayscale filter.
|
||||
\value ColorFilterNegative A negative filter.
|
||||
\value ColorFilterSolarize A solarize filter.
|
||||
\value ColorFilterSepia A sepia filter.
|
||||
\value ColorFilterPosterize A posterize filter.
|
||||
\value ColorFilterWhiteboard A whiteboard filter.
|
||||
\value ColorFilterBlackboard A blackboard filter.
|
||||
\value ColorFilterAqua An aqua filter.
|
||||
\value ColorFilterVendor The base value for vendor defined filters.
|
||||
|
||||
\since 5.5
|
||||
*/
|
||||
|
||||
/*!
|
||||
Returns the color filter which will be applied to image data captured by the camera.
|
||||
|
||||
\since 5.5
|
||||
*/
|
||||
|
||||
QCameraImageProcessing::ColorFilter QCameraImageProcessing::colorFilter() const
|
||||
{
|
||||
return d_func()->imageControl->parameter(QCameraImageProcessingControl::ColorFilter)
|
||||
.value<QCameraImageProcessing::ColorFilter>();
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
Sets the color \a filter which will be applied to image data captured by the camera.
|
||||
|
||||
\since 5.5
|
||||
*/
|
||||
|
||||
void QCameraImageProcessing::setColorFilter(QCameraImageProcessing::ColorFilter filter)
|
||||
{
|
||||
d_func()->imageControl->setParameter(
|
||||
QCameraImageProcessingControl::ColorFilter,
|
||||
QVariant::fromValue<QCameraImageProcessing::ColorFilter>(filter));
|
||||
}
|
||||
|
||||
/*!
|
||||
Returns true if a color \a filter is supported.
|
||||
|
||||
\since 5.5
|
||||
*/
|
||||
|
||||
bool QCameraImageProcessing::isColorFilterSupported(QCameraImageProcessing::ColorFilter filter) const
|
||||
{
|
||||
return d_func()->imageControl->isParameterValueSupported(
|
||||
QCameraImageProcessingControl::ColorFilter,
|
||||
QVariant::fromValue<QCameraImageProcessing::ColorFilter>(filter));
|
||||
|
||||
}
|
||||
|
||||
|
||||
#include "moc_qcameraimageprocessing.cpp"
|
||||
QT_END_NAMESPACE
|
||||
|
||||
@@ -54,7 +54,7 @@ class QCameraImageProcessingPrivate;
|
||||
class Q_MULTIMEDIA_EXPORT QCameraImageProcessing : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_ENUMS(WhiteBalanceMode)
|
||||
Q_ENUMS(WhiteBalanceMode ColorFilter)
|
||||
public:
|
||||
enum WhiteBalanceMode {
|
||||
WhiteBalanceAuto = 0,
|
||||
@@ -69,6 +69,19 @@ public:
|
||||
WhiteBalanceVendor = 1000
|
||||
};
|
||||
|
||||
enum ColorFilter {
|
||||
ColorFilterNone,
|
||||
ColorFilterGrayscale,
|
||||
ColorFilterNegative,
|
||||
ColorFilterSolarize,
|
||||
ColorFilterSepia,
|
||||
ColorFilterPosterize,
|
||||
ColorFilterWhiteboard,
|
||||
ColorFilterBlackboard,
|
||||
ColorFilterAqua,
|
||||
ColorFilterVendor = 1000
|
||||
};
|
||||
|
||||
bool isAvailable() const;
|
||||
|
||||
WhiteBalanceMode whiteBalanceMode() const;
|
||||
@@ -90,6 +103,10 @@ public:
|
||||
qreal denoisingLevel() const;
|
||||
void setDenoisingLevel(qreal value);
|
||||
|
||||
ColorFilter colorFilter() const;
|
||||
void setColorFilter(ColorFilter filter);
|
||||
bool isColorFilterSupported(ColorFilter filter) const;
|
||||
|
||||
private:
|
||||
friend class QCamera;
|
||||
friend class QCameraPrivate;
|
||||
@@ -104,7 +121,9 @@ private:
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Q_DECLARE_METATYPE(QCameraImageProcessing::WhiteBalanceMode)
|
||||
Q_DECLARE_METATYPE(QCameraImageProcessing::ColorFilter)
|
||||
|
||||
Q_MEDIA_ENUM_DEBUG(QCameraImageProcessing, WhiteBalanceMode)
|
||||
Q_MEDIA_ENUM_DEBUG(QCameraImageProcessing, ColorFilter)
|
||||
|
||||
#endif // QCAMERAIMAGEPROCESSING_H
|
||||
|
||||
@@ -171,6 +171,8 @@ QCameraImageProcessingControl::~QCameraImageProcessingControl()
|
||||
Adjustment of sharpening applied.
|
||||
\value DenoisingAdjustment
|
||||
Adjustment of denoising applied.
|
||||
\value ColorFilter
|
||||
Image filter applied. Since 5.5
|
||||
\value ExtendedParameter
|
||||
The base value for platform specific extended parameters.
|
||||
*/
|
||||
|
||||
@@ -66,6 +66,7 @@ public:
|
||||
BrightnessAdjustment,
|
||||
SharpeningAdjustment,
|
||||
DenoisingAdjustment,
|
||||
ColorFilter,
|
||||
ExtendedParameter = 1000
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user