summaryrefslogtreecommitdiff
path: root/www/FAQ.html
diff options
context:
space:
mode:
Diffstat (limited to 'www/FAQ.html')
-rw-r--r--www/FAQ.html391
1 files changed, 149 insertions, 242 deletions
diff --git a/www/FAQ.html b/www/FAQ.html
index cab5859..653b1fa 100644
--- a/www/FAQ.html
+++ b/www/FAQ.html
@@ -1,12 +1,14 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<!DOCTYPE html>
+<html lang="en">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.16: http://docutils.sourceforge.net/" />
-<title>GraphicsMagick FAQ</title>
-<link rel="stylesheet" href="docutils-articles.css" type="text/css" />
+ <meta charset="utf-8">
+ <meta content="en" name="language">
+ <title>GraphicsMagick FAQ</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <link media="screen" href="docutils-articles.css" type="text/css" rel="stylesheet">
+
</head>
+
<body>
<div class="banner">
@@ -19,6 +21,7 @@
</form>
</div>
+
<div class="navmenu">
<ul>
<li><a href="index.html">Home</a></li>
@@ -32,9 +35,9 @@
<li><a href="reference.html">Reference</a></li>
</ul>
</div>
+
<div class="document" id="graphicsmagick-faq">
<h1 class="title">GraphicsMagick FAQ</h1>
-
<!-- -*- mode: rst -*- -->
<!-- This text is in reStucturedText format, so it may look a bit odd. -->
<!-- See http://docutils.sourceforge.net/rst.html for details. -->
@@ -42,40 +45,40 @@
<div class="contents topic" id="faq-contents">
<p class="topic-title">FAQ Contents</p>
<ul class="simple">
-<li><a class="reference internal" href="#how-does-graphicsmagick-differ-from-imagemagick" id="id1">How does GraphicsMagick differ from ImageMagick?</a></li>
-<li><a class="reference internal" href="#how-often-does-graphicsmagick-pick-up-new-code-from-imagemagick" id="id2">How often does GraphicsMagick pick up new code from ImageMagick?</a></li>
-<li><a class="reference internal" href="#are-there-any-plans-to-use-opencl-or-cuda-to-use-a-gpu" id="id3">Are there any plans to use OpenCL or CUDA to use a GPU?</a></li>
-<li><a class="reference internal" href="#what-is-the-meaning-of-magick" id="id4">What is the meaning of &quot;magick&quot;?</a></li>
-<li><a class="reference internal" href="#how-can-i-process-many-files-at-once" id="id5">How can I process many files at once?</a></li>
-<li><a class="reference internal" href="#i-received-the-following-message-delegation-failed-what-does-it-mean" id="id6">I received the following message, &quot;?????? delegation failed ...&quot;. What does it mean?</a></li>
-<li><a class="reference internal" href="#how-do-i-set-the-transparency-index-in-a-gif-image-so-it-displays-properly-within-mozilla" id="id7">How do I set the transparency index in a GIF image so it displays properly within Mozilla?</a></li>
-<li><a class="reference internal" href="#how-can-i-stop-the-filenames-from-changing-in-the-title-bar-of-the-animate-1-image-window" id="id8">How can I stop the filenames from changing in the title bar of the animate(1) image window?</a></li>
-<li><a class="reference internal" href="#the-image-grabbed-by-import-1-does-not-look-like-the-image-on-my-x-server-what-s-wrong" id="id9">The image grabbed by import(1) does not look like the image on my X server. What's wrong?</a></li>
-<li><a class="reference internal" href="#how-do-i-animate-a-digital-yuv-image-sequence" id="id10">How do I animate a digital YUV image sequence?</a></li>
-<li><a class="reference internal" href="#how-do-i-change-the-default-postscript-page-size" id="id11">How do I change the default <em>PostScript</em> page size?</a></li>
-<li><a class="reference internal" href="#i-get-a-memory-allocation-error-what-can-i-do" id="id12">I get a memory allocation error. What can I do?</a></li>
-<li><a class="reference internal" href="#how-do-i-concatenate-three-images-left-to-right-with-no-borders-frames-or-text" id="id13">How do I concatenate three images left-to-right with no borders, frames, or text?</a></li>
-<li><a class="reference internal" href="#how-do-i-create-a-gif-animation-sequence-to-display-within-firefox" id="id14">How do I create a GIF animation sequence to display within Firefox?</a></li>
-<li><a class="reference internal" href="#when-i-display-a-postscript-image-white-borders-are-trimmed" id="id15">When I display a <em>PostScript</em> image, white borders are trimmed.</a></li>
-<li><a class="reference internal" href="#what-are-visual-image-directories-how-do-i-use-them" id="id16">What are visual image directories? How do I use them?</a></li>
-<li><a class="reference internal" href="#how-can-i-include-the-window-frame-when-importing-a-window" id="id17">How can I include the window frame when importing a window?</a></li>
-<li><a class="reference internal" href="#i-displayed-an-image-and-it-appears-as-one-solid-color-what-did-i-do-wrong" id="id18">I displayed an image and it appears as one solid color. What did I do wrong?</a></li>
-<li><a class="reference internal" href="#i-received-the-following-message-library-is-not-available" id="id19">I received the following message, &quot;???? library is not available...&quot;.</a></li>
-<li><a class="reference internal" href="#i-want-to-inspect-the-values-of-the-matte-channel-within-my-image" id="id20">I want to inspect the values of the matte channel within my image.</a></li>
-<li><a class="reference internal" href="#how-can-i-add-one-of-those-cool-bevels-to-my-image-that-i-see-used-on-the-web" id="id21">How can I add one of those cool bevels to my image that I see used on the Web?</a></li>
-<li><a class="reference internal" href="#i-try-to-launch-display-from-my-window-manager-and-it-fails-what-s-up" id="id22">I try to launch display from my window manager and it fails. What's up?</a></li>
-<li><a class="reference internal" href="#how-can-i-make-postscript-text-look-good" id="id23">How can I make Postscript text look good?</a></li>
-<li><a class="reference internal" href="#how-can-i-annotate-an-image-with-text-that-is-2-to-3-inches-tall" id="id24">How can I annotate an image with text that is 2 to 3 inches tall?</a></li>
-<li><a class="reference internal" href="#how-can-i-convert-my-gif-animation-sequence-to-individual-image-files" id="id25">How can I convert my GIF animation sequence to individual image files?</a></li>
-<li><a class="reference internal" href="#how-can-i-remove-the-background-that-prints-around-my-image-when-i-display-it-with-firefox" id="id26">How can I remove the background that prints around my image when I display it with Firefox?</a></li>
-<li><a class="reference internal" href="#how-do-i-create-a-gif-or-png-image-with-web-safe-colors" id="id27">How do I create a GIF or PNG image with Web safe colors?</a></li>
-<li><a class="reference internal" href="#how-can-i-add-a-matte-layer-to-my-image" id="id28">How can I add a matte layer to my image?</a></li>
-<li><a class="reference internal" href="#how-can-i-draw-with-text-using-convert-under-windows-nt" id="id29">How can I draw with text using 'convert' under Windows NT?</a></li>
-<li><a class="reference internal" href="#why-are-my-jpeg-files-larger-than-expected" id="id30">Why are my JPEG files larger than expected?</a></li>
-<li><a class="reference internal" href="#how-do-i-extract-a-single-image-from-a-multi-image-file" id="id31">How do I extract a single image from a multi-image file?</a></li>
-<li><a class="reference internal" href="#how-can-i-extract-and-combine-cmyk-channels-in-a-cmyk-image" id="id32">How can I extract and combine CMYK channels in a CMYK image?</a></li>
-<li><a class="reference internal" href="#how-can-i-create-a-solid-or-patterned-canvas-image" id="id33">How can I create a solid or patterned canvas image?</a></li>
-<li><a class="reference internal" href="#what-does-identify-report" id="id34">What does <cite>identify</cite> report?</a></li>
+<li><p><a class="reference internal" href="#how-does-graphicsmagick-differ-from-imagemagick" id="id1">How does GraphicsMagick differ from ImageMagick?</a></p></li>
+<li><p><a class="reference internal" href="#how-often-does-graphicsmagick-pick-up-new-code-from-imagemagick" id="id2">How often does GraphicsMagick pick up new code from ImageMagick?</a></p></li>
+<li><p><a class="reference internal" href="#are-there-any-plans-to-use-opencl-or-cuda-to-use-a-gpu" id="id3">Are there any plans to use OpenCL or CUDA to use a GPU?</a></p></li>
+<li><p><a class="reference internal" href="#what-is-the-meaning-of-magick" id="id4">What is the meaning of &quot;magick&quot;?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-process-many-files-at-once" id="id5">How can I process many files at once?</a></p></li>
+<li><p><a class="reference internal" href="#i-received-the-following-message-delegation-failed-what-does-it-mean" id="id6">I received the following message, &quot;?????? delegation failed ...&quot;. What does it mean?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-set-the-transparency-index-in-a-gif-image-so-it-displays-properly-within-mozilla" id="id7">How do I set the transparency index in a GIF image so it displays properly within Mozilla?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-stop-the-filenames-from-changing-in-the-title-bar-of-the-animate-1-image-window" id="id8">How can I stop the filenames from changing in the title bar of the animate(1) image window?</a></p></li>
+<li><p><a class="reference internal" href="#the-image-grabbed-by-import-1-does-not-look-like-the-image-on-my-x-server-what-s-wrong" id="id9">The image grabbed by import(1) does not look like the image on my X server. What's wrong?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-animate-a-digital-yuv-image-sequence" id="id10">How do I animate a digital YUV image sequence?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-change-the-default-postscript-page-size" id="id11">How do I change the default <em>PostScript</em> page size?</a></p></li>
+<li><p><a class="reference internal" href="#i-get-a-memory-allocation-error-what-can-i-do" id="id12">I get a memory allocation error. What can I do?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-concatenate-three-images-left-to-right-with-no-borders-frames-or-text" id="id13">How do I concatenate three images left-to-right with no borders, frames, or text?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-create-a-gif-animation-sequence-to-display-within-firefox" id="id14">How do I create a GIF animation sequence to display within Firefox?</a></p></li>
+<li><p><a class="reference internal" href="#when-i-display-a-postscript-image-white-borders-are-trimmed" id="id15">When I display a <em>PostScript</em> image, white borders are trimmed.</a></p></li>
+<li><p><a class="reference internal" href="#what-are-visual-image-directories-how-do-i-use-them" id="id16">What are visual image directories? How do I use them?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-include-the-window-frame-when-importing-a-window" id="id17">How can I include the window frame when importing a window?</a></p></li>
+<li><p><a class="reference internal" href="#i-displayed-an-image-and-it-appears-as-one-solid-color-what-did-i-do-wrong" id="id18">I displayed an image and it appears as one solid color. What did I do wrong?</a></p></li>
+<li><p><a class="reference internal" href="#i-received-the-following-message-library-is-not-available" id="id19">I received the following message, &quot;???? library is not available...&quot;.</a></p></li>
+<li><p><a class="reference internal" href="#i-want-to-inspect-the-values-of-the-matte-channel-within-my-image" id="id20">I want to inspect the values of the matte channel within my image.</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-add-one-of-those-cool-bevels-to-my-image-that-i-see-used-on-the-web" id="id21">How can I add one of those cool bevels to my image that I see used on the Web?</a></p></li>
+<li><p><a class="reference internal" href="#i-try-to-launch-display-from-my-window-manager-and-it-fails-what-s-up" id="id22">I try to launch display from my window manager and it fails. What's up?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-make-postscript-text-look-good" id="id23">How can I make Postscript text look good?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-annotate-an-image-with-text-that-is-2-to-3-inches-tall" id="id24">How can I annotate an image with text that is 2 to 3 inches tall?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-convert-my-gif-animation-sequence-to-individual-image-files" id="id25">How can I convert my GIF animation sequence to individual image files?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-remove-the-background-that-prints-around-my-image-when-i-display-it-with-firefox" id="id26">How can I remove the background that prints around my image when I display it with Firefox?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-create-a-gif-or-png-image-with-web-safe-colors" id="id27">How do I create a GIF or PNG image with Web safe colors?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-add-a-matte-layer-to-my-image" id="id28">How can I add a matte layer to my image?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-draw-with-text-using-convert-under-windows-nt" id="id29">How can I draw with text using 'convert' under Windows NT?</a></p></li>
+<li><p><a class="reference internal" href="#why-are-my-jpeg-files-larger-than-expected" id="id30">Why are my JPEG files larger than expected?</a></p></li>
+<li><p><a class="reference internal" href="#how-do-i-extract-a-single-image-from-a-multi-image-file" id="id31">How do I extract a single image from a multi-image file?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-extract-and-combine-cmyk-channels-in-a-cmyk-image" id="id32">How can I extract and combine CMYK channels in a CMYK image?</a></p></li>
+<li><p><a class="reference internal" href="#how-can-i-create-a-solid-or-patterned-canvas-image" id="id33">How can I create a solid or patterned canvas image?</a></p></li>
+<li><p><a class="reference internal" href="#what-does-identify-report" id="id34">What does <cite>identify</cite> report?</a></p></li>
</ul>
</div>
<div class="section" id="how-does-graphicsmagick-differ-from-imagemagick">
@@ -149,16 +152,17 @@ cores are added is typical for CPU-bound algorithms on well-designed
CPUs. Regardless, <a class="reference external" href="http://en.wikipedia.org/wiki/Amdal%27s_law">Amdahl's law</a> is a significant factor
in GraphicsMagick, with non-parallelizable code paths often dominating
the time.</p>
-<p>It is my belief that stand-alone GPUs are a poor design (expensive,
-inefficient, failure-prone, bandwidth bottlenecked, lack
-functionality, are insecure, and are not supported in servers) and
-that multi-core CPUs will ultimately prevail. Functionality which
-currently works best in a GPU will simply be integrated into
-tomorrow's multi-core CPUs and C compilers will naturally support that
-functionality. Once GPU capabilities are integrated into CPUs, there
-will be no more need to develop specialized code for a GPU. Today 16
-core CPUs are readily available for purchase in systems at reasonable
-prices, and this trend is certain to continue.</p>
+<p>It is my belief that stand-alone GPUs are a poor design for general
+computing tasks (expensive, inefficient, failure-prone, bandwidth
+bottlenecked, lack functionality, are insecure, and are not supported
+in servers) and that multi-core CPUs will continue to dominate the
+computing market. Functionality which currently works best in a GPU
+will simply be integrated into tomorrow's multi-core CPUs and C
+compilers will naturally support that functionality. Once GPU
+capabilities are integrated into CPUs, there will be no more need to
+develop specialized code for a GPU. Today 16 core CPUs are readily
+available for purchase in systems at reasonable prices, and this trend
+is certain to continue.</p>
<p>Future multi-core CPUs will use a similar amount of power to today's
CPUs, will idle at very low power consumption levels, and will fit
into a very small chassis. Due to this trend, there is no value
@@ -179,28 +183,20 @@ any number of files in one command. Normally 'mogrify' overwrites the
input files but the <cite>-output-directory</cite> option (which must appear
before any input file names!) allows sending the modified files to a
different directory (which could be in a subdirectory). For example:</p>
-<pre class="literal-block">
-gm mogrify -output-directory .thumbs -resize 320x200 *.jpg
-</pre>
+<pre class="literal-block">gm mogrify -output-directory .thumbs -resize 320x200 *.jpg</pre>
<p>If you encounter command line length limitations then you can have
GraphicsMagick expand the file list by quoting the wildcard argument
to prevent it from being expanded by your command shell:</p>
-<pre class="literal-block">
-gm mogrify -output-directory .thumbs -resize 320x200 &quot;*.jpg&quot;
-</pre>
+<pre class="literal-block">gm mogrify -output-directory .thumbs -resize 320x200 &quot;*.jpg&quot;</pre>
<p>and you can also retrieve a list of files to process from a text file
(e.g. named 'files.txt') like:</p>
-<pre class="literal-block">
-gm mogrify -output-directory .thumbs -resize 320x200 &#64;files.txt
-</pre>
+<pre class="literal-block">gm mogrify -output-directory .thumbs -resize 320x200 &#64;files.txt</pre>
<p>where files.txt has one line per file name. If the input file paths
contain relative sub-directory paths (e.g. &quot;foo/file1&quot;, &quot;bar/file2&quot;),
you can instruct GraphicsMagick to create a similar subdirectory
structure under the output directory by adding the
<cite>-create-directories</cite> option:</p>
-<pre class="literal-block">
-gm mogrify -output-directory .thumbs -create-directories -resize 320x200 &#64;files.txt
-</pre>
+<pre class="literal-block">gm mogrify -output-directory .thumbs -create-directories -resize 320x200 &#64;files.txt</pre>
<p>Note that the algorithm used to generate output file names is quite
simple. If -output-directory is &quot;/foo&quot; and the file path is
&quot;bar/none.jpg&quot; then the final path will be &quot;foo/bar/none.jpg&quot;. Based
@@ -216,8 +212,8 @@ sure these packages are available as described in the <a class="reference extern
verify that you have plenty of temporary disk space. If not, set the
MAGICK_TMPDIR (or TMPDIR) environment variable to an area where
sufficient space is available. Finally, for <em>PostScript</em>, verify that
-Ghostscript supports the <em>pnmraw</em> or <em>ppmraw</em> device (<tt class="docutils literal">gs <span class="pre">-h</span></tt>) and that
-the document contains valid <em>PostScript</em> statements (<tt class="docutils literal">gs image.ps</tt>).</p>
+Ghostscript supports the <em>pnmraw</em> or <em>ppmraw</em> device (<span class="docutils literal">gs <span class="pre">-h</span></span>) and that
+the document contains valid <em>PostScript</em> statements (<span class="docutils literal">gs image.ps</span>).</p>
</div>
<div class="section" id="how-do-i-set-the-transparency-index-in-a-gif-image-so-it-displays-properly-within-mozilla">
<h1><a class="toc-backref" href="#id7">How do I set the transparency index in a GIF image so it displays properly within Mozilla?</a></h1>
@@ -226,9 +222,9 @@ Edit</em> command menu and identify a pixel that has the <em>transparency</em>
color. Press <em>Method</em> and select a matte edit method from a pop-up menu.
Choose from these methods:</p>
<ul class="simple">
-<li>point</li>
-<li>replace</li>
-<li>floodfill</li>
+<li><p>point</p></li>
+<li><p>replace</p></li>
+<li><p>floodfill</p></li>
</ul>
<p>The <em>point</em> method changes the matte value of any pixel selected with the
pointer until the button is is released. The <em>replace</em> method changes the
@@ -244,37 +240,27 @@ transparent. When you are satisfied, press Return.</p>
a file. <strong>Note that setting transparency works best on a TrueColor or
DirectColor visual</strong>. If your server only exports colormapped visuals you
will need to use a <em>Standard Colormap</em> to set transparency.</p>
-<pre class="literal-block">
-xstdcmap -best
+<pre class="literal-block">xstdcmap -best
gm display -map list image.gif
[ choose Matte Edit ]
[ select your transparent pixel then press Return ]
-[ choose Save '
-</pre>
+[ choose Save '</pre>
<p>If you do not have the <em>xstdcmap(1)</em> program, try</p>
-<pre class="literal-block">
-gm display -visual TrueColor image.gif
-</pre>
+<pre class="literal-block">gm display -visual TrueColor image.gif</pre>
</div>
<div class="section" id="how-can-i-stop-the-filenames-from-changing-in-the-title-bar-of-the-animate-1-image-window">
<h1><a class="toc-backref" href="#id8">How can I stop the filenames from changing in the title bar of the animate(1) image window?</a></h1>
<p><a class="reference external" href="animate.html">Animate</a> updates the image file name in the title bar of the image window
as each image is displayed from the image sequence. To display just a
single name that will not change, use <em>-title</em>:</p>
-<pre class="literal-block">
-gm animate -title &quot;My Image Sequence&quot; images.
-</pre>
+<pre class="literal-block">gm animate -title &quot;My Image Sequence&quot; images.</pre>
</div>
<div class="section" id="the-image-grabbed-by-import-1-does-not-look-like-the-image-on-my-x-server-what-s-wrong">
<h1><a class="toc-backref" href="#id9">The image grabbed by import(1) does not look like the image on my X server. What's wrong?</a></h1>
<p>Use the <em>-descend</em> option:</p>
-<pre class="literal-block">
-gm import -descend image.miff
-</pre>
+<pre class="literal-block">gm import -descend image.miff</pre>
<p>or set this X resource:</p>
-<pre class="literal-block">
-gm import.descend: True
-</pre>
+<pre class="literal-block">gm import.descend: True</pre>
<p>By default, <a class="reference external" href="import.html">import</a> quickly grabs the image from the X server. However,
it may not always have the correct colors in some areas. This can happen
when a subwindow has a different colormap than its parent. With
@@ -288,9 +274,7 @@ ensures the correct image.</p>
<h1><a class="toc-backref" href="#id10">How do I animate a digital YUV image sequence?</a></h1>
<p>Suppose your sequence is 72 352x240 frames titled frame0.Y, frame0.U,
frame0.V, frame1.Y, frame1.U, etc. Use this command:</p>
-<pre class="literal-block">
-gm animate -geometry 352x240 -scene 0-71 yuv3:frame%d
-</pre>
+<pre class="literal-block">gm animate -geometry 352x240 -scene 0-71 yuv3:frame%d</pre>
</div>
<div class="section" id="how-do-i-change-the-default-postscript-page-size">
<h1><a class="toc-backref" href="#id11">How do I change the default <em>PostScript</em> page size?</a></h1>
@@ -339,25 +323,25 @@ may be calculated via the equation (QuantumDepth*Rows*Columns*5)/8. As a
means of example, the following table shows the amount of memory consumed
by a single 1024x768 image using the supported QuantumDepth settings:</p>
<blockquote>
-<table border="1" class="docutils">
+<table>
<colgroup>
-<col width="46%" />
-<col width="54%" />
+<col style="width: 46%" />
+<col style="width: 54%" />
</colgroup>
-<thead valign="bottom">
-<tr><th class="head">QuantumDepth</th>
-<th class="head">Virtual Memory</th>
+<thead>
+<tr><th class="head"><p>QuantumDepth</p></th>
+<th class="head"><p>Virtual Memory</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr><td>8</td>
-<td>3MB</td>
+<tbody>
+<tr><td><p>8</p></td>
+<td><p>3MB</p></td>
</tr>
-<tr><td>16</td>
-<td>8MB</td>
+<tr><td><p>16</p></td>
+<td><p>8MB</p></td>
</tr>
-<tr><td>32</td>
-<td>15MB</td>
+<tr><td><p>32</p></td>
+<td><p>15MB</p></td>
</tr>
</tbody>
</table>
@@ -391,51 +375,37 @@ pixels in size!</p>
<h1><a class="toc-backref" href="#id13">How do I concatenate three images left-to-right with no borders, frames, or text?</a></h1>
<p>Assume your three images are called image1.ppm, image2.ppm, and
image3.ppm. Type</p>
-<pre class="literal-block">
-gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm \
- image3.ppm concatenated.miff
-</pre>
+<pre class="literal-block">gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm \
+ image3.ppm concatenated.miff</pre>
<p>To concatenate the images top-to-bottom, use -tile 1x3.</p>
<p>For more control over the placement of an image, use <a class="reference external" href="composite.html">composite</a>. First
create a matte image and position your images onto the matte. For
example,</p>
-<pre class="literal-block">
-gm convert -size 350x500 xc:black composite.miff
+<pre class="literal-block">gm convert -size 350x500 xc:black composite.miff
gm composite -geometry +0+0 composite.miff image1.gif composite.miff
gm composite -geometry &quot;+1&quot;00+0 composite.miff image2.gif composite.miff
gm composite -geometry +0+300 composite.miff image3.gif composite.miff
-gm composite -geometry +0+375 composite.miff image4.gif composite.miff
-</pre>
+gm composite -geometry +0+375 composite.miff image4.gif composite.miff</pre>
</div>
<div class="section" id="how-do-i-create-a-gif-animation-sequence-to-display-within-firefox">
<h1><a class="toc-backref" href="#id14">How do I create a GIF animation sequence to display within Firefox?</a></h1>
<p>Use <a class="reference external" href="convert.html">convert</a> with the <em>-delay</em> and <em>-page</em> options. The <em>-delay</em> option
is used to specify the delay in <em>1/100ths of a second</em> between the
display of each frame of the animation. For example,</p>
-<pre class="literal-block">
-gm convert -delay 20 frame*.gif animation.gif
-</pre>
+<pre class="literal-block">gm convert -delay 20 frame*.gif animation.gif</pre>
<p>You can also declare specific delays for each frame of the image
sequence. For example, if the delay was 20, 10, and 5, use</p>
-<pre class="literal-block">
-gm convert -delay 20 frame1.gif -delay 10 frame2.gif \
- -delay 5 frame3.gif animation.gif
-</pre>
+<pre class="literal-block">gm convert -delay 20 frame1.gif -delay 10 frame2.gif \
+ -delay 5 frame3.gif animation.gif</pre>
<p>Use <em>-page</em> to specify the <em>left</em> and <em>top</em> locations of the image frame</p>
-<pre class="literal-block">
-gm convert frame1.gif -page +50&quot;+1&quot;00 frame2.gif -page +0&quot;+1&quot;00 \
- frame3.gif animation.gif
-</pre>
+<pre class="literal-block">gm convert frame1.gif -page +50&quot;+1&quot;00 frame2.gif -page +0&quot;+1&quot;00 \
+ frame3.gif animation.gif</pre>
<p>Finally, if you want the image to loop within <em>FireFox</em>, use <em>-loop</em></p>
-<pre class="literal-block">
-gm convert -loop 50 frame*.gif animation.gif
-</pre>
+<pre class="literal-block">gm convert -loop 50 frame*.gif animation.gif</pre>
<p>Note, that all the images are composited into a single multi-image GIF
animation. If you want a single image produced for each frame, use
<em>+adjoin</em></p>
-<pre class="literal-block">
-gm convert +adjoin images.* frames%d.gif
-</pre>
+<pre class="literal-block">gm convert +adjoin images.* frames%d.gif</pre>
</div>
<div class="section" id="when-i-display-a-postscript-image-white-borders-are-trimmed">
<h1><a class="toc-backref" href="#id15">When I display a <em>PostScript</em> image, white borders are trimmed.</a></h1>
@@ -443,9 +413,7 @@ gm convert +adjoin images.* frames%d.gif
the bounding box. To preempt this behavior, remove the bounding box
statement from the <em>Postscript</em> or explicitly set the page size. For
example,</p>
-<pre class="literal-block">
-gm display -page letter image.ps
-</pre>
+<pre class="literal-block">gm display -page letter image.ps</pre>
</div>
<div class="section" id="what-are-visual-image-directories-how-do-i-use-them">
<h1><a class="toc-backref" href="#id16">What are visual image directories? How do I use them?</a></h1>
@@ -454,23 +422,17 @@ one or more images in a file directory. Rather than displaying each
individual image at its full resolution, you can browse the visual image
directory and choose an image to display. You can create a VID with
either of these commands:</p>
-<pre class="literal-block">
-gm montage *.jpg directory.vid
-gm convert 'vid:*.jpg' directory.vid
-</pre>
+<pre class="literal-block">gm montage *.jpg directory.vid
+gm convert 'vid:*.jpg' directory.vid</pre>
<p>Of course you can substitute any filenames you desire. <a class="reference external" href="montage.html">Montage</a> has many
relevant command line options. You can exercise more control over the
appearance of the VID than with <a class="reference external" href="convert.html">convert</a>.</p>
<p>Next display the directory:</p>
-<pre class="literal-block">
-gm display directory.vid
-</pre>
+<pre class="literal-block">gm display directory.vid</pre>
<p>Finally browse and select an image to display. Move the pointer to the
image and press button 3.</p>
<p>You can create the VID directory with this command:</p>
-<pre class="literal-block">
-gm display 'vid:*.jpg'
-</pre>
+<pre class="literal-block">gm display 'vid:*.jpg'</pre>
<p>You can also select <em>Visual Image...</em> from the <em>File</em> menu of the command
widget.</p>
<p><em>Note, that creating a VID is time consuming</em>. Creating them on-the-fly
@@ -479,9 +441,7 @@ Also, if you create them with <a class="reference external" href="montage.html">
as often as necessary.</p>
<p>Note that a visual image directory is useful for looking at individual
frames of an image sequence:</p>
-<pre class="literal-block">
-gm display vid:movie.mpg
-</pre>
+<pre class="literal-block">gm display vid:movie.mpg</pre>
</div>
<div class="section" id="how-can-i-include-the-window-frame-when-importing-a-window">
<h1><a class="toc-backref" href="#id17">How can I include the window frame when importing a window?</a></h1>
@@ -490,13 +450,9 @@ include the window manager frame as expected. How can I save the window
with its frame?</p>
<p>By default, <em>xwininfo(1)</em> returns the ID of the window you click on. Use
the <em>-frame</em> option to get the reparented window ID:</p>
-<pre class="literal-block">
-xwininfo -frame
-</pre>
+<pre class="literal-block">xwininfo -frame</pre>
<p>You can then use the returned window ID with <a class="reference external" href="import.html">import</a>:</p>
-<pre class="literal-block">
-gm import -frame -window ID window.miff
-</pre>
+<pre class="literal-block">gm import -frame -window ID window.miff</pre>
</div>
<div class="section" id="i-displayed-an-image-and-it-appears-as-one-solid-color-what-did-i-do-wrong">
<h1><a class="toc-backref" href="#id18">I displayed an image and it appears as one solid color. What did I do wrong?</a></h1>
@@ -504,9 +460,7 @@ gm import -frame -window ID window.miff
a matte channel and the matte values are all zero. <em>GraphicsMagick</em>
treats a matte value of zero as completely transparent. To determine if
this is the problem, try</p>
-<pre class="literal-block">
-gm display +matte image.miff
-</pre>
+<pre class="literal-block">gm display +matte image.miff</pre>
</div>
<div class="section" id="i-received-the-following-message-library-is-not-available">
<h1><a class="toc-backref" href="#id19">I received the following message, &quot;???? library is not available...&quot;.</a></h1>
@@ -521,10 +475,8 @@ location of these libraries and compiling instructions.</p>
<p>View the matte image as a gray scale image. Suppose you have a TIFF image
that has a matte channel and is 640 pixels in width and 480 in height.
Type:</p>
-<pre class="literal-block">
-gm convert image.tiff image.matte
-gm display -size 640x480 gray:image.matte
-</pre>
+<pre class="literal-block">gm convert image.tiff image.matte
+gm display -size 640x480 gray:image.matte</pre>
</div>
<div class="section" id="how-can-i-add-one-of-those-cool-bevels-to-my-image-that-i-see-used-on-the-web">
<h1><a class="toc-backref" href="#id21">How can I add one of those cool bevels to my image that I see used on the Web?</a></h1>
@@ -532,39 +484,31 @@ gm display -size 640x480 gray:image.matte
with GraphicsMagick. Each is listed below with the procedure to use
them with your image.</p>
<ul>
-<li><p class="first">Surround the image with a border of color</p>
+<li><p>Surround the image with a border of color</p>
<p>Use -border followed by the width and height of the border. Set the
color of the border with -bordercolor. For example, to surround your
image with a red border that is 25 pixels wide on each side, use</p>
-<pre class="literal-block">
-gm convert -bordercolor red -border 25x25 image.jpg image.gif
-</pre>
+<pre class="literal-block">gm convert -bordercolor red -border 25x25 image.jpg image.gif</pre>
</li>
-<li><p class="first">Lighten or darken image edges to create a 3-D effect</p>
+<li><p>Lighten or darken image edges to create a 3-D effect</p>
<p>Use -raise followed by the width of the image edge. For example, to
create a raised edge effect of 25 pixels, use</p>
-<pre class="literal-block">
-gm convert -raise 25 image.jpg image.gif
-</pre>
+<pre class="literal-block">gm convert -raise 25 image.jpg image.gif</pre>
</li>
-<li><p class="first">Surround the image with an ornamental frame</p>
+<li><p>Surround the image with an ornamental frame</p>
<p>Use -frame followed by the width and height of the frame. Set the
color of the border with -mattecolor. For example, to surround your
image with a gray frame that is 25 pixels wide on each side, use</p>
-<pre class="literal-block">
-gm convert -mattecolor gray -frame 25x25 image.jpg image.gif
-</pre>
+<pre class="literal-block">gm convert -mattecolor gray -frame 25x25 image.jpg image.gif</pre>
</li>
-<li><p class="first">Surround the image with a raised or sunken bevel</p>
+<li><p>Surround the image with a raised or sunken bevel</p>
<p>Use -frame followed by the width and height of the bevel. Set the
color of the border with -mattecolor. This is just like the
description above except you specify a bevel width that matches the
frame width. For example, to surround your image with a gray bevel
that is 25 pixels wide on each side, use</p>
-<pre class="literal-block">
-gm convert -mattecolor gray -frame 25x25+0+25 image.jpg image.gif
-gm convert -mattecolor gray -frame 25x25+25+0 image.jpg image.gif
-</pre>
+<pre class="literal-block">gm convert -mattecolor gray -frame 25x25+0+25 image.jpg image.gif
+gm convert -mattecolor gray -frame 25x25+25+0 image.jpg image.gif</pre>
</li>
</ul>
</div>
@@ -574,18 +518,14 @@ gm convert -mattecolor gray -frame 25x25+25+0 image.jpg image.gif
differently depending on the result. To convince display &lt;display.html&gt;
you are running in an interactive environment when launching from a
window manager, use either of</p>
-<pre class="literal-block">
-display logo:Untitled
-display &lt; /dev/console
-</pre>
+<pre class="literal-block">display logo:Untitled
+display &lt; /dev/console</pre>
<p>Note that this issue no longer exists as of GraphicsMagick 1.2.</p>
</div>
<div class="section" id="how-can-i-make-postscript-text-look-good">
<h1><a class="toc-backref" href="#id23">How can I make Postscript text look good?</a></h1>
<p>Simple. Increase the dots-per-inch when converting and sub-sample:</p>
-<pre class="literal-block">
-gm convert -density 288 -geometry 25% image.ps image.gif
-</pre>
+<pre class="literal-block">gm convert -density 288 -geometry 25% image.ps image.gif</pre>
<p>Change the density to 144 and geometry to 50% if the above command fails
due to insufficient memory. Alternatively, see the Ghostscript
documentation about using high-quality fonts.</p>
@@ -603,39 +543,29 @@ postscript to image conversion.</p>
<h1><a class="toc-backref" href="#id24">How can I annotate an image with text that is 2 to 3 inches tall?</a></h1>
<p>If you do not access to a particular named font that is large, try
scalable fonts. First see if you have any scalable fonts. Type</p>
-<pre class="literal-block">
-xlsfonts -fn '*-0-0-0-0-*'
-</pre>
+<pre class="literal-block">xlsfonts -fn '*-0-0-0-0-*'</pre>
<p>Or if you are using <a class="reference external" href="display.html">display</a>, use the font pattern above within the Font
Browser (see Image Edit-&gt;Annotate). Next substitute the appropriate
resolution. Keep in mind that a scalable font must be fully qualified to
work. That is, all 14 fields must be specified. Here is one example where
we annotate an image with large <em>Helvetica</em> text:</p>
-<pre class="literal-block">
-gm convert -font '-*-helvetica-*-*-*--300-300-*-*-*-*-iso8859-1' \
- -fill green -draw 'text 50,300 Magick' image.gif annotated.gif
-</pre>
+<pre class="literal-block">gm convert -font '-*-helvetica-*-*-*--300-300-*-*-*-*-iso8859-1' \
+ -fill green -draw 'text 50,300 Magick' image.gif annotated.gif</pre>
<p>If you have the FreeType support built into GraphicsMagick, just
increase your pointsize and/or density:</p>
-<pre class="literal-block">
-gm convert -font Helvetica -pointsize 100 -density 300 ...
-</pre>
+<pre class="literal-block">gm convert -font Helvetica -pointsize 100 -density 300 ...</pre>
</div>
<div class="section" id="how-can-i-convert-my-gif-animation-sequence-to-individual-image-files">
<h1><a class="toc-backref" href="#id25">How can I convert my GIF animation sequence to individual image files?</a></h1>
<p>Use the scene embedded file format with <a class="reference external" href="convert.html">convert</a>:</p>
-<pre class="literal-block">
-gm convert animation.gif +adjoin frame%02d.gif
-</pre>
+<pre class="literal-block">gm convert animation.gif +adjoin frame%02d.gif</pre>
<p>The resulting image files are titled frame01.gif, frame02.gif,
frame03.gif, etc.</p>
</div>
<div class="section" id="how-can-i-remove-the-background-that-prints-around-my-image-when-i-display-it-with-firefox">
<h1><a class="toc-backref" href="#id26">How can I remove the background that prints around my image when I display it with Firefox?</a></h1>
<p>Use the +page option of the <a class="reference external" href="convert.html">convert</a> command:</p>
-<pre class="literal-block">
-gm convert +page alpha.gif beta.gif
-</pre>
+<pre class="literal-block">gm convert +page alpha.gif beta.gif</pre>
<p>GIF allows for a page offset relative to some background. The page
offset information may have been in your GIF image already or it
could have been introduced by GraphicsMagick. Either way, +page
@@ -649,9 +579,7 @@ computers now have true color displays. However, this FAQ may still be
useful since it demonstrates how a colormap from an image may be
applied to another image..</p>
<p>Use the -map option of the <a class="reference external" href="convert.html">convert</a> command:</p>
-<pre class="literal-block">
-gm convert -map netscape: alpha.gif beta.gif
-</pre>
+<pre class="literal-block">gm convert -map netscape: alpha.gif beta.gif</pre>
<p>Netscape predefines 216 colors for colormapped displays. Use the above
command to ensure only these predefined colors are used. Otherwise
Netscape dithers your image with varying degrees of image fidelity.</p>
@@ -662,10 +590,8 @@ Netscape dithers your image with varying degrees of image fidelity.</p>
-matte option to add an all-opaque opacity channel, then use the
composite utility to copy the graylevel samples from the mask file
into your new opacity channel:</p>
-<pre class="literal-block">
-gm convert image.gif -matte temp.miff
-gm composite -compose CopyOpacity mask.xbm temp.miff transparent.gif
-</pre>
+<pre class="literal-block">gm convert image.gif -matte temp.miff
+gm composite -compose CopyOpacity mask.xbm temp.miff transparent.gif</pre>
<p>Note, GIF is limited to one transparent color. If your mask has
variable opacity, use a format like MIFF, TIFF, or PNG as your output
image format.</p>
@@ -675,16 +601,12 @@ image format.</p>
<p>The problem is that NT interprets the command line differently than
Unix does, causing the documented command to fail. The following
command has been reported to work correctly (all on one line):</p>
-<pre class="literal-block">
-gm convert -font Arial -fill blue -draw &quot;text 10,10 'your text here'&quot; \
- d:\test.tif png:d:\test.png
-</pre>
+<pre class="literal-block">gm convert -font Arial -fill blue -draw &quot;text 10,10 'your text here'&quot; \
+ d:\test.tif png:d:\test.png</pre>
<p>and here is another example which is reported to work (which relies
on Ghostscript's 'gs' program to installed):</p>
-<pre class="literal-block">
-gm convert.exe -pointsize 18 -draw &quot;text 0,0 &quot;This is my text!&quot;&quot; \
- C:\blank.gif c:\text.gif
-</pre>
+<pre class="literal-block">gm convert.exe -pointsize 18 -draw &quot;text 0,0 &quot;This is my text!&quot;&quot; \
+ C:\blank.gif c:\text.gif</pre>
</div>
<div class="section" id="why-are-my-jpeg-files-larger-than-expected">
<h1><a class="toc-backref" href="#id30">Why are my JPEG files larger than expected?</a></h1>
@@ -696,9 +618,7 @@ or they may contain uncompressed thumbnails. You can use the <cite>+profile
<h1><a class="toc-backref" href="#id31">How do I extract a single image from a multi-image file?</a></h1>
<p>Use a square-bracket syntax to indicate which frame or frames you
want. For example,</p>
-<pre class="literal-block">
-gm convert &quot;Image.gif[0]&quot; first.gif
-</pre>
+<pre class="literal-block">gm convert &quot;Image.gif[0]&quot; first.gif</pre>
<p>Will extract the first image (scene 0) from a GIF animation. Be sure
to surround the file specification with quotation marks, to prevent
the shell from interpreting the square brackets.</p>
@@ -709,18 +629,14 @@ the shell from interpreting the square brackets.</p>
any image file format in order to create a CMYK image file. For example,
starting with a CMYK JPEG file, we can create a set of separate files
with one file per channel:</p>
-<pre class="literal-block">
-gm convert cmyk.jpg -channel cyan cyan.tiff
+<pre class="literal-block">gm convert cmyk.jpg -channel cyan cyan.tiff
gm convert cmyk.jpg -channel magenta magenta.tiff
gm convert cmyk.jpg -channel yellow yellow.tiff
-gm convert cmyk.jpg -channel black black.tiff
-</pre>
+gm convert cmyk.jpg -channel black black.tiff</pre>
<p>and then we can join them back together:</p>
-<pre class="literal-block">
-gm composite -compose CopyMagenta magenta.tiff cyan.tiff result.tiff
+<pre class="literal-block">gm composite -compose CopyMagenta magenta.tiff cyan.tiff result.tiff
gm composite -compose CopyYellow yellow.tiff result.tiff result.tiff
-gm composite -compose CopyBlack black.tiff result.tiff result.tiff
-</pre>
+gm composite -compose CopyBlack black.tiff result.tiff result.tiff</pre>
<p>Perhaps it is possible to accomplish this in one composite command. We
will leave that as an exercise for later. Note that it is possible to
extract just one channel, manipulate it, and then insert it back into the
@@ -737,30 +653,20 @@ while TILE produces a tiled image based on an an image you specify. Both
of these require that the desired size be specified, and the desired
image type may be specified as well.</p>
<p>To create a solid red canvas image:</p>
-<pre class="literal-block">
-gm convert -size 640x480 xc:red canvas.tiff
-</pre>
+<pre class="literal-block">gm convert -size 640x480 xc:red canvas.tiff</pre>
<p>or using hex syntax to specify the color:</p>
-<pre class="literal-block">
-gm convert -size 640x480 &quot;xc:#f00&quot; canvas.tiff
-</pre>
+<pre class="literal-block">gm convert -size 640x480 &quot;xc:#f00&quot; canvas.tiff</pre>
<p>To create a solid red canvas image using truecolor pixels:</p>
-<pre class="literal-block">
-gm convert -size 640x480 -type TrueColor xc:red canvas.tiff
-</pre>
+<pre class="literal-block">gm convert -size 640x480 -type TrueColor xc:red canvas.tiff</pre>
<p>To create a patterned canvas image using a built-in crosshatch pattern:</p>
-<pre class="literal-block">
-gm convert -size 640x480 tile:image:CROSSHATCH45 canvas.tiff
-</pre>
+<pre class="literal-block">gm convert -size 640x480 tile:image:CROSSHATCH45 canvas.tiff</pre>
<p>To create a patterned canvas image using a user-supplied image:</p>
-<pre class="literal-block">
-gm convert -size 640x480 tile:myimage.tiff canvas.tiff
-</pre>
+<pre class="literal-block">gm convert -size 640x480 tile:myimage.tiff canvas.tiff</pre>
</div>
<div class="section" id="what-does-identify-report">
<h1><a class="toc-backref" href="#id34">What does <cite>identify</cite> report?</a></h1>
<p>GraphicsMagick is sophisticated image handling software supporting
-perhaps a hundred formats, and hundreds of subformats, yet it needs to
+over a hundred formats, and hundreds of subformats, yet it needs to
be able to apply image processing algorithms in a consistent way, and
save to many output formats. Some image types are radically different
from others. Due to this, GraphicsMagick normalizes images it reads
@@ -778,17 +684,18 @@ up to a depth of 8 bits, but a &quot;Q32&quot; build can report a depth of up to
32 bits. The original image depth is reported if it is at least 8
bits, and equal to or less than the build depth.</p>
<p>By default <cite>identify</cite> reports only the most basic properties:</p>
-<pre class="literal-block">
-% gm identify seaworld.jpg
-seaworld.jpg JPEG 1530x1020+0+0 DirectClass 8-bit 204.0K 0.000u 0:01
-</pre>
+<pre class="literal-block">% gm identify seaworld.jpg
+seaworld.jpg JPEG 1530x1020+0+0 DirectClass 8-bit 204.0K 0.000u 0:01</pre>
<p>but with -verbose it can report on a large number of properties.</p>
</div>
</div>
+
<hr class="docutils">
<div class="document">
- <p><a href="Copyright.html">Copyright</a> © GraphicsMagick Group 2002 - 2022<!--SPONSOR_LOGO--></p>
+ <p><a href="Copyright.html">Copyright</a> © GraphicsMagick Group 2002 - 2023<!--SPONSOR_LOGO--></p>
+</div>
+
</div>
</body>
</html>