www/api/Magick++/button_8cpp_source.html
| Magick++ 7.1.0 |
button.cpp
Go to the documentation of this file.
1 //
2 // Magick++ demo to generate a simple text button
3 //
4 // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2003
5 //
6 // Copyright @ 2013 ImageMagick Studio LLC, a non-profit organization
7 // dedicated to making software imaging solutions freely available.
8 //
9
10 #include <Magick++.h>
11 #include <string>
12 #include <iostream>
13
14 using namespace std;
15
16 using namespace Magick;
17
18 int main( int /*argc*/, char ** argv)
19 {
20
21// Initialize ImageMagick install location for Windows
22InitializeMagick(*argv);
23
24try {
25
26string srcdir("");
27if(getenv("SRCDIR") != 0)
28 srcdir = getenv("SRCDIR");
29
30//
31// Options
32//
33
34string backGround = "xc:#CCCCCC"; // A solid color
35
36// Color to use for decorative border
37Color border = "#D4DCF3";
38
39// Button size
40string buttonSize = "120x20";
41
42// Button background texture
43string buttonTexture = "granite:";
44
45// Button text
46string text = "Button Text";
47
48// Button text color
49string textColor = "red";
50
51// Font point size
52int fontPointSize = 16;
53
54//
55// Magick++ operations
56//
57
58Image button;
59
60// Set button size
61 button.size( buttonSize );
62
63// Read background image
64 button.read( backGround );
65
66// Set background to buttonTexture
67Image backgroundTexture( buttonTexture );
68 button.texture( backgroundTexture );
69
70 #if MAGICKCORE_FREETYPE_DELEGATE
71// Add some text
72 button.fillColor( textColor );
73 button.fontPointsize( fontPointSize );
74if (getenv("MAGICK_FONT") != 0)
75 button.font(string(getenv("MAGICK_FONT")));
76 button.annotate( text, CenterGravity );
77 #endif
78
79// Add a decorative frame
80 button.borderColor( border );
81 button.frame( "6x6+3+3" );
82
83 button.depth( 8 );
84
85// Quantize to desired colors
86// button.quantizeTreeDepth(8);
87 button.quantizeDither(false);
88 button.quantizeColors(64);
89 button.quantize();
90
91// Save to file
92 cout << "Writing to "button_out.miff" ..." << endl;
93 button.compressType( RLECompression );
94 button.write("button_out.miff");
95
96// Display on screen
97// button.display();
98
99 }
100catch( exception &error_ )
101 {
102 cout << "Caught exception: " << error_.what() << endl;
103return 1;
104 }
105
106return 0;
107 }
void annotate(const std::string &text_, const Geometry &location_)
Definition: Image.cpp:1858
STL namespace.
void write(Blob *blob_)
Definition: Image.cpp:4896
void quantize(const bool measureError_=false)
Definition: Image.cpp:3994
void read(const Blob &blob_)
Definition: Image.cpp:4038
void frame(const Geometry &geometry_=frameGeometryDefault)
Definition: Image.cpp:3162
void borderColor(const Color &color_)
Definition: Image.cpp:429
void font(const std::string &font_)
Definition: Image.cpp:852
void fontPointsize(const double pointSize_)
Definition: Image.cpp:874
void texture(const Image &texture_)
Definition: Image.cpp:4642
void fillColor(const Color &fillColor_)
Definition: Image.cpp:786
void size(const Geometry &geometry_)
Definition: Image.cpp:1379
Definition: Color.h:36
void quantizeColors(const size_t colors_)
Definition: Image.cpp:1260
Definition: Blob.h:17
int main(int, char **argv)
Definition: button.cpp:18
MagickPPExport void InitializeMagick(const char *path_)
Definition: Functions.cpp:45
void quantizeDither(const bool ditherFlag_)
Definition: Image.cpp:1283
void depth(const size_t depth_)
Definition: Image.cpp:693
Definition: Image.h:55
void compressType(const CompressionType compressType_)
Definition: Image.cpp:630