Isis Developer Reference
QtExporter.h
Go to the documentation of this file.
1#ifndef QtExporter_h
2#define QtExporter_h
3
9/* SPDX-License-Identifier: CC0-1.0 */
10
11#include "ImageExporter.h"
12
13#include "Constants.h"
14
15class QImage;
16
17namespace Isis {
47 class QtExporter : public ImageExporter {
48 public:
49 QtExporter(QString format);
50 virtual ~QtExporter();
51
52 virtual void setGrayscale(ExportDescription &desc);
53 virtual void setRgb(ExportDescription &desc);
54 virtual void setRgba(ExportDescription &desc);
55
56 virtual void write(FileName outputName, int quality=100,
57 QString compression="none", UserInterface *ui = nullptr);
58
59 static bool canWriteFormat(QString format);
60
61 protected:
62 virtual void writeGrayscale(vector<Buffer *> &in) const;
63 virtual void writeRgb(vector<Buffer *> &in) const;
64 virtual void writeRgba(vector<Buffer *> &in) const;
65
67
68 private:
69 void initialize(ExportDescription &desc);
70
72 QImage *m_qimage;
73
75 QString m_format;
76 };
77};
78
79
80#endif
Describes how a series of cubes should be exported.
Definition ExportDescription.h:43
File name manipulation and expansion.
Definition FileName.h:100
Export Isis cubes into standard formats.
Definition ImageExporter.h:55
int lines() const
Number of lines (rows) in the output image.
Definition ImageExporter.cpp:137
int bands() const
Number of bands (channels) in the output image.
Definition ImageExporter.cpp:147
int samples() const
Number of samples (columns) in the output image.
Definition ImageExporter.cpp:127
Exports cubes into one of several formats with Qt facilities.
Definition QtExporter.h:47
virtual void setGrayscale(ExportDescription &desc)
Set the input with the description generically, check the data size for a single-band image with the ...
Definition QtExporter.cpp:78
virtual void setRgb(ExportDescription &desc)
Set the input with the description generically, check the data size for a three-band image with the e...
Definition QtExporter.cpp:100
virtual void write(FileName outputName, int quality=100, QString compression="none", UserInterface *ui=nullptr)
Let the base ImageExporter handle the generic black-box writing routine, then save the image to disk.
Definition QtExporter.cpp:200
virtual void writeRgba(vector< Buffer * > &in) const
Write a line of RGBA data to the output image.
Definition QtExporter.cpp:174
QtExporter(QString format)
Construct the Qt exporter.
Definition QtExporter.cpp:28
virtual void writeGrayscale(vector< Buffer * > &in) const
Write a line of grayscale data to the output image.
Definition QtExporter.cpp:126
void checkDataSize(BigInt samples, BigInt lines, int bands)
Checks that the data size for an image of the desired dimensions will be less than 2GB.
Definition QtExporter.cpp:226
static bool canWriteFormat(QString format)
Returns true if the format is supported by QImageWriter.
Definition QtExporter.cpp:247
virtual void writeRgb(vector< Buffer * > &in) const
Write a line of RGB data to the output image.
Definition QtExporter.cpp:153
virtual void setRgba(ExportDescription &desc)
Set the input with the description generically, check the data size for a four-band image with the es...
Definition QtExporter.cpp:114
virtual ~QtExporter()
Destruct the exporter.
Definition QtExporter.cpp:49
Command Line and Xml loader, validation, and access.
Definition UserInterface.h:139
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
long long int BigInt
Big int.
Definition Constants.h:49