Magick++
7.1.2-29
Convert, Edit, Or Compose Bitmap Images
Toggle main menu visibility
Loading...
Searching...
No Matches
Montage.h
1
// This may look like C code, but it is really -*- C++ -*-
2
//
3
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
4
//
5
// Copyright @ 2014 ImageMagick Studio LLC, a non-profit organization
6
// dedicated to making software imaging solutions freely available.
7
//
8
// Definition of Montage class used to specify montage options.
9
//
10
11
#if !defined(Magick_Montage_header)
12
#define Magick_Montage_header
13
14
#include "Magick++/Include.h"
15
#include <string>
16
#include "Magick++/Color.h"
17
#include "Magick++/Geometry.h"
18
19
//
20
// Basic (Un-framed) Montage
21
//
22
namespace
Magick
23
{
24
class
MagickPPExport Montage
25
{
26
public
:
27
28
Montage(
void
);
29
virtual
~Montage(
void
);
30
31
// Color that thumbnails are composed on
32
void
backgroundColor(
const
Color
&backgroundColor_);
33
Color
backgroundColor(
void
)
const
;
34
35
// Composition algorithm to use (e.g. ReplaceCompositeOp)
36
void
compose(CompositeOperator compose_);
37
CompositeOperator compose(
void
)
const
;
38
39
// Filename to save montages to
40
void
fileName(
const
std::string &fileName_);
41
std::string fileName(
void
)
const
;
42
43
// Fill color
44
void
fillColor(
const
Color
&fill_);
45
Color
fillColor(
void
)
const
;
46
47
// Label font
48
void
font(
const
std::string &font_);
49
std::string font(
void
)
const
;
50
51
// Thumbnail width & height plus border width & height
52
void
geometry(
const
Geometry
&geometry_);
53
Geometry
geometry(
void
)
const
;
54
55
// Thumbnail position (e.g. SouthWestGravity)
56
void
gravity(GravityType gravity_);
57
GravityType gravity(
void
)
const
;
58
59
// Thumbnail label (applied to image prior to montage)
60
void
label(
const
std::string &label_);
61
std::string label(
void
)
const
;
62
63
// Font point size
64
void
pointSize(
size_t
pointSize_);
65
size_t
pointSize(
void
)
const
;
66
67
// Enable drop-shadows on thumbnails
68
void
shadow(
bool
shadow_);
69
bool
shadow(
void
)
const
;
70
71
// Outline color
72
void
strokeColor(
const
Color
&stroke_);
73
Color
strokeColor(
void
)
const
;
74
75
// Background texture image
76
void
texture(
const
std::string &texture_);
77
std::string texture(
void
)
const
;
78
79
// Thumbnail rows and columns
80
void
tile(
const
Geometry
&tile_);
81
Geometry
tile(
void
)
const
;
82
83
// Montage title
84
void
title(
const
std::string &title_);
85
std::string title(
void
)
const
;
86
87
// Transparent color
88
void
transparentColor(
const
Color
&transparentColor_);
89
Color
transparentColor(
void
)
const
;
90
91
//
92
// Implementation methods/members
93
//
94
95
// Update elements in existing MontageInfo structure
96
virtual
void
updateMontageInfo(MagickCore::MontageInfo &montageInfo_)
const
;
97
98
private
:
99
100
Color
_backgroundColor;
101
std::string _fileName;
102
Color
_fill;
103
std::string _font;
104
Geometry
_geometry;
105
GravityType _gravity;
106
std::string _label;
107
size_t
_pointSize;
108
bool
_shadow;
109
Color
_stroke;
110
std::string _texture;
111
Geometry
_tile;
112
std::string _title;
113
Color
_transparentColor;
114
};
115
116
//
117
// Montage With Frames (Extends Basic Montage)
118
//
119
class
MagickPPExport MontageFramed :
public
Montage
120
{
121
public
:
122
123
MontageFramed(
void
);
124
~MontageFramed(
void
);
125
126
// Frame foreground color
127
void
matteColor(
const
Color
&matteColor_);
128
Color
matteColor(
void
)
const
;
129
130
// Frame border color
131
void
borderColor(
const
Color
&borderColor_);
132
Color
borderColor(
void
)
const
;
133
134
// Pixels between thumbnail and surrounding frame
135
void
borderWidth(
size_t
borderWidth_);
136
size_t
borderWidth(
void
)
const
;
137
138
// Frame geometry (width & height frame thickness)
139
void
frameGeometry(
const
Geometry
&frame_);
140
Geometry
frameGeometry(
void
)
const
;
141
142
//
143
// Implementation methods/members
144
//
145
146
// Update elements in existing MontageInfo structure
147
void
updateMontageInfo(MagickCore::MontageInfo &montageInfo_)
const
;
148
149
private
:
150
151
Color
_matteColor;
152
Color
_borderColor;
153
size_t
_borderWidth;
154
Geometry
_frame;
155
};
156
}
// namespace Magick
157
158
#endif
// Magick_Montage_header
Magick::Color
Definition
Color.h:37
Magick::Geometry
Definition
Geometry.h:38
Magick++
lib
Magick++
Montage.h
Generated by
1.17.0