github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/graphics-magick/share/doc/GraphicsMagick/www/ImageMagickObject.html (about) 1 <?xml version="1.0" encoding="utf-8" ?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" /> 7 <title>ImageMagickObject</title> 8 <link rel="stylesheet" href="docutils-articles.css" type="text/css" /> 9 </head> 10 <body> 11 12 <div class="banner"> 13 <img src="images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" /> 14 <span class="title">GraphicsMagick</span> 15 <form action="http://www.google.com/search"> 16 <input type="hidden" name="domains" value="www.graphicsmagick.org" /> 17 <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" /> 18 <span class="nowrap"><input type="text" name="q" size="25" maxlength="255" /> <input type="submit" name="sa" value="Search" /></span> 19 </form> 20 </div> 21 22 <div class="navmenu"> 23 <ul> 24 <li><a href="index.html">Home</a></li> 25 <li><a href="project.html">Project</a></li> 26 <li><a href="download.html">Download</a></li> 27 <li><a href="README.html">Install</a></li> 28 <li><a href="Hg.html">Source</a></li> 29 <li><a href="NEWS.html">News</a> </li> 30 <li><a href="utilities.html">Utilities</a></li> 31 <li><a href="programming.html">Programming</a></li> 32 <li><a href="reference.html">Reference</a></li> 33 </ul> 34 </div> 35 <div class="document" id="imagemagickobject"> 36 <h1 class="title">ImageMagickObject</h1> 37 38 <!-- -*- mode: rst -*- --> 39 <!-- This text is in reStucturedText format, so it may look a bit odd. --> 40 <!-- See http://docutils.sourceforge.net/rst.html for details. --> 41 <div class="section" id="overview"> 42 <h1>Overview</h1> 43 <p>The <em>ImageMagickObject</em> is a COM+ compatible component that may be 44 invoked from any language capable of using COM objects. The intended use 45 is for Windows Scripting Host VBS scripts and Visual Basic, but it can 46 also be used from C++, ASP, and other languages like Delphi, Perl and PHP.</p> 47 <p>The strategy with the <em>ImageMagickObject</em> COM+ component is not to the 48 same as with PerlMagick interface provided with ImageMagick. PerlMagick 49 is a low level API based system that defines a whole new way of scripting 50 IM operations. The IM COM+ component simply provides access to the 51 <a class="reference external" href="convert.html">convert</a>, composite, <a class="reference external" href="mogrify.html">mogrify</a>, <a class="reference external" href="identify.html">identify</a>, and <a class="reference external" href="montage.html">montage</a> tools, 52 efficiently executing them as part of your process, rather than as 53 external programs. The way you use it is exactly the same. You pass it a 54 list of strings including filenames and various options and it does the 55 job. In fact, you can take any existing batch scripts that use the 56 command line tools and translate them into the equivalent calls to the 57 COM+ object in a matter of minutes. Beyond that, there is also a way to 58 pass in and retrieve images in memory in the form of standard smart 59 arrays (byte arrays). Samples are provided, to show both the simple and 60 more elaborate forms of access.</p> 61 <p><em>GraphicsMagick</em> provides a statically-built ImageMagick object as part of 62 its "utils" <a class="reference external" href="INSTALL-windows.html">Windows installation package</a>. When this package is 63 installed, <em>ImageMagickObject</em> and its sample programs are installed to</p> 64 <pre class="literal-block"> 65 c:\Program Files\GraphicsMagick-1.3-Q16\ImageMagickObject 66 </pre> 67 <p>by default (path shown is for the Q:16 build). <em>ImageMagickObject</em> is 68 registered if the checkbox for "Register ImageMagickObject" is checked at 69 install time.</p> 70 <p>You may execute the sample program from the Windows Command Shell like:</p> 71 <pre class="literal-block"> 72 cscript SimpleTest.vbs 73 </pre> 74 <p>Since the <em>GraphicsMagick</em> utility command line parsers are incorporated 75 within <em>ImageMagickObject</em>, please refer to the command line <a class="reference external" href="utilities.html">utility 76 documentation</a> to learn how to use it. The sample VBS scripts show how 77 the object should be called and used and have lots of comments.</p> 78 <p>For C++ programmers - have a look at the MagickCMD.cpp command line 79 utility for an example of how to call the object from C++. This is a bit 80 complex because the object requires a variable size list of BSTR's to 81 emulate the command line argc, argv style calling conventions of the COM 82 component which is more complex in C++ then in VBS or VB.</p> 83 </div> 84 <div class="section" id="other-goodies"> 85 <h1>Other goodies...</h1> 86 <p>MagickCMD is a C++ sample, but it can also server as a replacement for 87 all the other command line utilities in most applications. Instead of 88 using "<tt class="docutils literal">convert xxxx yyyy</tt>" you can use "<tt class="docutils literal">MagickCMD convert xxxx 89 yyyy</tt>" instead. MagickCMD calls the COM object to get the job done. This 90 small tight combination replaces the entire usual binary distribution in 91 just a few megabytes.</p> 92 </div> 93 <div class="section" id="building-imagemagickobject-from-source"> 94 <h1>Building ImageMagickObject From Source</h1> 95 <p>The source code for <em>ImageMagickObject</em> is available from <em>GraphicsMagick</em> 96 CVS, or as part of the <em>GraphicsMagick</em> Windows source package. Once the 97 source code has been retrieved and extracted, the source for 98 <em>ImageMagickObject</em> may be found hidden in the directory 99 "<tt class="docutils literal">GraphicsMagick\contrib\win32\ATL7ImageMagickObject</tt>", however, 100 <em>GraphicsMagick</em> itself must be built using the "static-multithread" 101 (VisualStaticMT) build configuration. Building <em>ImageMagickObject</em> 102 requires Microsoft Visual C++ 7.0 as delivered with Microsoft's Visual 103 Studio .net package. See the Windows compilation instructions in order to 104 get <em>GraphicsMagick</em> itself built before building <em>ImageMagickObject</em>.</p> 105 <p>Once the VisualStaticMT project has been built, <em>ImageMagickObject</em> may 106 be built by following the procedure:</p> 107 <pre class="literal-block"> 108 cd GraphicsMagick\contrib\win32\ATL7ImageMagickObject 109 BuildImageMagickObject release 110 </pre> 111 <p>This procedure assumes that the VisualStaticMT project has been built 112 using the "release" setting for an optimized build. If the "debug" 113 setting was used for a debug build, then specify the argument "debug" 114 instead.</p> 115 <p>To register the DLL as a COM+ server use</p> 116 <pre class="literal-block"> 117 regsvr32 /c /s ImageMagickObject.dll 118 </pre> 119 <p>To unregister the DLL use</p> 120 <pre class="literal-block"> 121 regsvr32 /u /s ImageMagickObject.dll 122 </pre> 123 <p>The MagickCMD sample program operates similarly to the gm.exe program, 124 and is a great way to exercise <em>ImageMagickObject</em> to verify that it is 125 working.</p> 126 <p>Sometime in the future, MagickCMD may assume the place of gm.exe in the 127 "utils" distribution in order to decrease the overall package size.</p> 128 <hr class="docutils" /> 129 <p>Copyright © GraphicsMagick Group 2002 - 2020</p> 130 </div> 131 </div> 132 </body> 133 </html>