-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfimage.h
54 lines (51 loc) · 1.55 KB
/
fimage.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef FIMAGE_H
#define FIMAGE_H
#include <QString>
#include "fcolor.h"
class FImage {
public:
enum ImageMode {
Bitmap = 0,
Grayscale,
Indexed,
RGB,
CMYK
};
static const int Channel_RGB_Red = 0;
static const int Channel_CMYK_Cyan = 0;
static const int Channel_GS_Gray = 0;
static const int Channel_BM_Black = 0;
static const int Channel_RGB_Green = 1;
static const int Channel_CMYK_Magenta = 1;
static const int Channel_GS_Alpha = 1;
static const int Channel_BM_Alpha = 1;
static const int Channel_RGB_Blue = 2;
static const int Channel_CMYK_Yellow = 2;
static const int Channel_RGB_Alpha = 3;
static const int Channel_CMYK_Black = 3;
static const int Channel_CMYK_Alpha = 4;
FImage(int width, int height, int resolution, ImageMode mode, QString profile);
~FImage();
int channels();
int width();
int height();
QString profile();
ImageMode mode();
int size();
int resolution();
unsigned char *scanRow(int row);
unsigned char *scanCol(unsigned char *data, int col);
unsigned char *scanChan(unsigned char *data, int chan);
FColor rgb(unsigned char *data, int col);
void reset();
private:
int Channels;
int Width;
int Height;
int Resolution;
QString Profile;
ImageMode Mode;
unsigned char *Data;
int Size;
};
#endif // FIMAGE_H