DtkGui
DTK Gui module
载入中...
搜索中...
未找到
dimagehandler.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 - 2026 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DIMAGEHANDLER_H
6#define DIMAGEHANDLER_H
7
8#include <dtkgui_global.h>
9#include <DObject>
10
11#include <QObject>
12#include <QImage>
13
14DGUI_BEGIN_NAMESPACE
15
16class DImageHandlerPrivate;
17
27class D_DECL_DEPRECATED_X("DImageHandler is deprecated, please use QImageReader/QImageWriter or other image libraries instead.")
28 DImageHandler : public QObject, public DTK_CORE_NAMESPACE::DObject
29{
30 Q_OBJECT
31
32public:
33 explicit DImageHandler(QObject *parent = nullptr);
35
36 void setFileName(const QString &fileName);
37 QString fileName() const;
38
39 QImage readImage();
40 QImage thumbnail(const QSize &size, Qt::AspectRatioMode mode);
41 QString imageFormat() const;
42 QSize imageSize();
43 QHash<QString, QString> findAllMetaData();
44 void clearCache();
45
46 bool saveImage(const QString &fileName, const QString &format = QString());
47 bool saveImage(const QImage &image, const QString &fileName, const QString &format = QString());
48 bool rotateImage(QImage &image, int angle);
49 bool rotateImageFile(const QString &fileName, int angle);
50
51 bool isReadable() const;
52 bool isWriteable() const;
53 bool isRotatable() const;
54
55 QString lastError() const;
56
57 static QStringList supportFormats();
58 static QString detectImageFormat(const QString &fileName);
59
60 static QImage oldColorFilter(const QImage &img);
61 static QImage warmColorFilter(const QImage &img, int intensity = 30);
62 static QImage coolColorFilter(const QImage &img, int intensity = 30);
63 static QImage grayScaleColorFilter(const QImage &img);
64 static QImage antiColorFilter(const QImage &img);
65 static QImage metalColorFilter(const QImage &img);
66
67 static QImage bilateralFilter(const QImage &img, double spatialDecay = 0.02, double photometricStandardDeviation = 10);
68 static QImage contourExtraction(const QImage &img);
69 static QImage binaryzation(const QImage &img);
70 static QImage grayScale(const QImage &img);
71
72 static QImage laplaceSharpen(const QImage &img);
73 static QImage sobelEdgeDetector(const QImage &img);
74
75 static QImage changeLightAndContrast(const QImage &img, int light = 100, int contrast = 150);
76 static QImage changeBrightness(const QImage &img, int brightness);
77 static QImage changeTransparency(const QImage &img, int transparency);
78 static QImage changeStauration(const QImage &img, int saturation);
79 static QImage replacePointColor(const QImage &img, QColor oldColor, QColor newColor);
80
81 static QImage flipHorizontal(const QImage &img);
82 static QImage flipVertical(const QImage &img);
83
84private:
85 D_DECLARE_PRIVATE(DImageHandler)
86 Q_DISABLE_COPY(DImageHandler)
87};
88
89DGUI_END_NAMESPACE
90
91#endif // DIMAGEHANDLER_H
The DImageHandler class provides image reading, saving, rotating and filtering operations.
Definition dimagehandler.h:29