File indexing completed on 2024-05-12 03:47:30
0001 /* 0002 File : ImageEditor.h 0003 Project : LabPlot 0004 Description : Edit Image on the basis of input color attributes 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2015 Ankit Wagadre <wagadre.ankit@gmail.com> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef IMAGEEDITOR_H 0011 #define IMAGEEDITOR_H 0012 0013 #include <QList> 0014 0015 #include <backend/datapicker/DatapickerImage.h> 0016 0017 class QColor; 0018 0019 class ImageEditor { 0020 public: 0021 static void discretize(QImage*, const QImage*, const DatapickerImage::EditorSettings&, QColor); 0022 static bool processedPixelIsOn(const QImage&, int, int); 0023 static QRgb findBackgroundColor(const QImage*); 0024 static int colorAttributeMax(DatapickerImage::ColorAttributes); 0025 static void uploadHistogram(int*, QImage*, QColor, DatapickerImage::ColorAttributes); 0026 static int discretizeValueForeground(int, int, DatapickerImage::ColorAttributes, const QColor, const QImage*); 0027 static bool pixelIsOn(int, DatapickerImage::ColorAttributes, const DatapickerImage::EditorSettings&); 0028 0029 static int discretizeHue(int, int, const QImage*); 0030 static int discretizeSaturation(int, int, const QImage*); 0031 static int discretizeValue(int, int, const QImage*); 0032 static int discretizeIntensity(int, int, const QImage*); 0033 static int discretizeForeground(int, int, const QColor, const QImage*); 0034 0035 private: 0036 static bool colorCompare(QRgb color1, QRgb color2); 0037 static bool pixelIsOn(int, int, int); 0038 0039 struct ColorEntry { 0040 QColor color; 0041 int count; 0042 }; 0043 typedef QVector<ColorEntry> ColorList; 0044 }; 0045 #endif // IMAGEEDITOR_H