~ubuntu-branches/ubuntu/intrepid/graphicsmagick/intrepid

« back to all changes in this revision

Viewing changes to Magick++/demo/detrans.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2006-05-06 16:28:08 UTC
  • Revision ID: james.westby@ubuntu.com-20060506162808-vt2ni3r5nytcszms
Tags: upstream-1.1.7
ImportĀ upstreamĀ versionĀ 1.1.7

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//
 
2
// Replace transparency in an image with a solid color using Magick++
 
3
//
 
4
// Useful to see how a transparent image looks on a particular
 
5
// background color, or to create a similar looking effect without
 
6
// transparency.
 
7
//
 
8
// Copyright Bob Friesenhahn, 2000
 
9
//
 
10
// Usage: detrans color file...
 
11
//
 
12
 
 
13
#include <Magick++.h>
 
14
#include <iostream>
 
15
using namespace std; 
 
16
using namespace Magick;
 
17
int main(int argc,char **argv) 
 
18
{
 
19
  if ( argc < 3 )
 
20
    {
 
21
      cout << "Usage: " << argv[0] << " background_color file..." << endl;
 
22
      exit( 1 );
 
23
    }
 
24
 
 
25
  // Initialize ImageMagick install location for Windows
 
26
  InitializeMagick(*argv);
 
27
 
 
28
  {
 
29
    Color color;
 
30
    try {
 
31
      color = Color(argv[1]);
 
32
    }
 
33
    catch ( Exception error_ )
 
34
      {
 
35
        cout << error_.what() << endl;
 
36
        cout.flush();
 
37
        exit(1);
 
38
      }
 
39
 
 
40
    char **arg = &argv[2];
 
41
    while ( *arg )
 
42
      {
 
43
        string fname(*arg);
 
44
        try {
 
45
          Image overlay( fname );
 
46
          Image base( overlay.size(), color );
 
47
          base.composite( overlay, 0, 0, OverCompositeOp );
 
48
          base.matte( false );
 
49
          base.write( fname );
 
50
        }
 
51
        catch( Exception &error_ ) 
 
52
          { 
 
53
            cout << error_.what() << endl; 
 
54
          }
 
55
        ++arg;
 
56
      }
 
57
  }
 
58
 
 
59
  return 0; 
 
60
}