Isis 3 Programmer Reference
QtExporter.h
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.
File name manipulation and expansion.
Definition FileName.h:100
Export Isis cubes into standard formats.
int lines() const
Number of lines (rows) in the output image.
int bands() const
Number of bands (channels) in the output image.
int samples() const
Number of samples (columns) in the output image.
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 ...
QString m_format
The lowercase abbreviated format of the output image.
Definition QtExporter.h:75
virtual void setRgb(ExportDescription &desc)
Set the input with the description generically, check the data size for a three-band image with the e...
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.
virtual void writeRgba(vector< Buffer * > &in) const
Write a line of RGBA data to the output image.
QtExporter(QString format)
Construct the Qt exporter.
virtual void writeGrayscale(vector< Buffer * > &in) const
Write a line of grayscale data to the output image.
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.
static bool canWriteFormat(QString format)
Returns true if the format is supported by QImageWriter.
void initialize(ExportDescription &desc)
Generic initialization with the export description.
QImage * m_qimage
Structure holding all output image data in memory.
Definition QtExporter.h:72
virtual void writeRgb(vector< Buffer * > &in) const
Write a line of RGB data to the output image.
virtual void setRgba(ExportDescription &desc)
Set the input with the description generically, check the data size for a four-band image with the es...
virtual ~QtExporter()
Destruct the exporter.
Command Line and Xml loader, validation, and access.
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