-
I received the
following message, "?????? delegation failed ...". What does it
mean?
-
How can I improve
the appearance of 24-bit images displayed on my colormapped X
server?
-
How do I set the
transparency index in a GIF image so it displays properly within
Mozilla?
-
How can I stop the
filenames from changing in the title bar of the animate(1) image
window?
-
The image grabbed by
import(1) does not look like the image on my X server.
What's wrong
-
How do I animate a
digital YUV image sequence?
-
How do I view only
the red channel of an RGB image?
-
How do I change the
default PostScript page size?
-
When I display or
convert an image, I get Memory allocation error. What can I
do?
-
How do I
concatenate three images left-to-right with no borders, frames, or
text?
-
How do I create a
GIF animation sequence to display within Netscape?
-
When I display a
PostScript image it appears to be trimmed. I would like to
display the entire page, including any white space.
-
What are visual
image directories? How do I use them?
-
I have an HP. How
do I take advantage of the Color Recovery option?
-
I use the window ID
reported by xwininfo(1) with import and it does include the
window manager frame as expected. How can I save the window with
its frame?
-
I displayed an
image and it appears as one solid color. What did I do
wrong?
-
I received the
following message, "???? library is not available ...". What does
it mean?
-
I want to inspect
the values of the matte channel within my image. How can I do
that?
-
Convert in.gif
out.png" says "Invalid Parameter - out.png"
-
How can I add one
of those cool bevels to my image that I see used on the
Web?
-
I try to launch
display from my window manager and it fails. What's
up?
-
When I convert
Postscript to another format, how can I improve the appearance of
the text?
-
How can I annotate
an image with text that is 2 to 3 inches tall?
-
How can I convert
my GIF animation sequence to individual image files?
-
How can I remove
the background that prints around my image when I display it with
Netscape?
-
How do I create a
GIF or PNG image with Web safe colors?
-
How come Adobe
Acrobat 2.1 can't read ImageMagick's PDF format?
-
How can I add a
matte layer to my image?
-
How can I draw with
text using 'convert' under Windows NT?
-
Why are my GIF
files larger than expected?
-
Why are my JPEG
files larger than expected?
-
How do I extract a
single image from a multi-image file?
-
How do I make a
blank image?
-
What happened to
the "combine" utility?
- 1. I
received the following message, "?????? delegation failed ...".
What does it mean?
- ImageMagick uses several freely
available packages to perform the translation of certain image
formats (PostScript, MPEG, etc.). Make sure these
packages are available as described in the
README file. Also verify that you have
plenty of temporary disk space. If not, set the TMPDIR environment
variable to an area where space is available. Finally, for
PostScript, verify that Ghostscript supports the
pnmraw or ppmraw device (gs -h) and that the
document contains valid PostScript statements (gs
image.ps).
- 2. How
can I improve the appearance of 24-bit images displayed on my
colormapped X server?
If you have a colormapped X server, the number of unique
colors in an image must first be reduced to match the requirements
of your server before it can be displayed.
Display tries to make the color reduced
image closely resemble the original. However, there are some
options that may improve the appearance.
You can use a private colormap. By default, your image must
share colors with existing applications on your X server.
The colors in your image may be very different than the shared
colors and the results may be visually unsatisfactory. Try
display -colormap private image.miff
The disadvantage is the annoying colormap loading and unloading
as you move your pointer in and out of the image window.
The YCbCr colorspace may give better results when color reducing
images of people faces. Try
display -colorspace YCbCr image.miff
If you intend to view an image frequently, reduce the number of
colors to match the resolution of your X server once and
write to a new image. Then display this new image. For example,
convert -colors 256 -dither image.jpeg image.miff
display image.miff
This forces the time-consuming process of color reducing the
image to one-time, rather than each time the image is
displayed.
- 3. How
do I set the transparency index in a GIF image so it displays
properly within Mozilla?
- Display your GIF
image with display. Choose Matte
from the Image Edit command menu and identify a pixel that
has the transparency color. Press Method and select a
matte edit method from a pop-up menu. Choose from these
methods:
point
replace
floodfill
The point method changes the matte value of any pixel
selected with the pointer until the button is is released. The
replace method changes the matte value of any pixel that
matches the color of the pixel you select with a button press.
Floodfill changes the matte value of any pixel that matches
the color of the pixel you select with a button press and is a
neighbor.
Select your transparent pixel with the pointer and press a
button. The image is redisplayed with any transparent pixels
recolored to the background color. You can select other pixels or
areas to force to transparent. When you are satisfied, press
Return.
Finally, choose Save from the command menu and write your
GIF image to a file. Note that setting transparency works best
on a TrueColor or DirectColor visual. If your server only
exports colormapped visuals you will need to use a Standard
Colormap to set transparency.
xstdcmap -best
display -map list image.gif
choose Matte Edit
select your transparent pixel then press Return
choose Save
If you do not have the xstdcmap(1) program, try
display -visual TrueColor image.gif
- 4. How
can I stop the filenames from changing in the title bar of the
animate(1) image window?
-
Animate 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 -title:
animate -title "My Image Sequence" images.
- 5. The
image grabbed by import(1) does not look like the image on my X
server. What's wrong?
- Use the
-descend option:
import -descend image.miff
or set this X resource:
import.descend: True
By default, import 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 -descend,
import descends the window hierarchy.
Descending involves grabbing the image and colormap of each window
or subwindow associated with the window you select and compositing
it on a blank canvas. This can be significantly slower than just
grabbing the top-level window but ensures the correct image.
- 6. How
do I animate a digital YUV image sequence?
- Suppose your
sequence is 72 352x240 frames titled frame0.Y, frame0.U, frame0.V,
frame1.Y, frame1.U, etc. Use this command:
animate -geometry 352x240 -scene 0-71 yuv3:frame%d
- 7. How
do I view only the red channel of an RGB image?
- Use the
-gamma option, for example,
display -gamma 1.0,0.0,0.0 image.miff
- 8. How
do I change the default PostScript page size?
- The default
dimensions of a PostScript page is 612x792. If you prefer
another default, change the page geometries (PSPageGeometry) in
magick/image.h and recompile.
- 9.
When I display or convert an image, I get Memory allocation
error. What can I do?
- Memory
allocation is a complex topic in ImageMagick and image processing
requires a lot of memory. ImageMagick tries to take best advantage
of the resources available by optimizing its use of virtual
memory. Virtual memory is normally the amount of RAM (Random Access
Memory) available to the process plus the amount of free space in
the system paging area (known as "swap" under Unix, or a "page
file" under Windows). In addition to the RAM and the paging area,
ImageMagick is able to expand the amount of virtual memory
available by using memory-mapped files which cause the file to be
treated as extra memory. A piece of hardware known as the Memory
Management Unit (MMU) performs the magic which allows the system
paging area and memory-mapped files to be treated as more memory by
your system's CPU.
- Usually when a
memory allocation error occurs, it is because the system's paging
area is full, or the programs memory (heap) is fragmented badly
enough that there is no large-enough block of memory available to
satisfy the request. In some cases the operating system may
artificially limit the memory available to the program.
- Failures of
small memory allocations are generally considered fatal by
ImageMagick. If it is impossible to allocate even a little bit of
memory, then there is no point in continuing. When large memory
allocations associated with allocating memory for image pixels
fail, ImageMagick uses that as a key to know that it should start
using memory-mapped temporary files to increase virtual memory.
Under Unix and other POSIX-compliant systems, these memory-mapped
temporary files are created in either the system default location
(e.g. /var/tmp) or the directory set by the TMPDIR environment
variable. Under Windows, temporary files are created in the
directory set by the TEMP or TMP environment variable.
- If the temporary
file directory is too small, or is itself mapped to the system's
paging area (no win!), then ImageMagick will fail to allocate more
virtual memory via the temporary file and will return an
error.
- The single
biggest factor in how much memory is required by ImageMagick is the
QuantumDepth setting when it was compiled. The amount of memory (in
bytes) required to store a single image in memory is 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:
QuantumDepth |
Virtual Memory |
8 |
3MB |
16 |
8MB |
32 |
15MB |
- Performing an
image processing operation may require that several images be in
memory at one time. In the case of animations, hundreds of images
may be in memory at one time.
ImageMagick is designed to be general purpose. It can
display many image storage formats (Monochrome,
PseudoColor, or TrueColor) on many different types of
X visuals (StaticGray, StaticColor, PseudoColor,
GrayScale, DirectColor, or TrueColor). To support all
these combinations of image storage formats and X visuals, extra
memory is required. Additionally,
animate and
montage store an entire image sequence
in memory.
- It is
recommended that systems used to run ImageMagick have at
least 96MB of RAM and 140MB free in their paging area. Systems used
to process large images (do the math!) may require considerably
more memory to operate efficiently. RAM is typically 1000 times
faster than disk, so it is important to keep as much data in RAM as
possible (buy lots of RAM). The temporary file area should have
plenty of free space. The size of the temporary file area is
usually the deciding factor as to whether ImageMagick is able to
complete an operation. With sufficient free disk space, ImageMagick
is primarily limited by your CPU and operating system's ability to
address memory. ImageMagick has been used to process images 20K by
20K pixels in size!
- 10.
How do I concatenate three images left-to-right with no borders,
frames, or text?
- Assume your
three images are called image1.ppm, image2.ppm,
and image3.ppm. Type
convert +append image1.ppm image2.ppm \
image3.ppm side_by_side.miff
To concatenate the images top-to-bottom, use
-append.
For more control over the placement of an image, use
composite. First create a matte image
and position your images onto the matte. For example,
convert -size 350x500 xc:black composite.miff
composite -geometry +0+0 composite.miff image1.gif composite.miff
composite -geometry +100+0 composite.miff image2.gif composite.miff
composite -geometry +0+300 composite.miff image3.gif composite.miff
composite -geometry +0+375 composite.miff image4.gif composite.miff
- 11.
How do I create a GIF animation sequence to display within
Netscape?
- Use
convert with the -delay and
-page options. The -delay option is used to specify
the delay in 1/100ths of a second between the display of
each frame of the animation. For example,
convert -delay 20 frame*.gif animation.gif
You can also declare specific delays for each frame of the image
sequence. For example, if the delay was 20, 10, and 5, use
convert -delay 20 frame1.gif -delay 10 frame2.gif \
-delay 5 frame3.gif animation.gif
Use -page to specify the left and top
locations of the image frame:
convert frame1.gif -page +50+100 frame2.gif -page +0+100 \
frame3.gif animation.gif
Finally, if you want the image to loop within Netscape,
use -loop:
convert -loop 50 frame*.gif animation.gif
For further information about GIF animation, see
GIF Animation
on the WWW.
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 +adjoin:
convert +adjoin images.* frames%d.gif
- 12.
When I display a PostScript image it appears to be trimmed.
I would like to display the entire page, including any white
space.
-
ImageMagick automatically trims any PostScript image
as defined by the bounding box. To preempt this behavior, remove
the bounding box statement from the Postscrpt or explicitly set the
page size. For example,
display -page letter image.ps
- 13.
What are visual image directories? How do I use them?
- A visual image
directory (VID) is an image that contains thumbnails of 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:
montage *.jpg directory.vid
convert 'vid:*.jpg' directory.vid
Of course you can substitute any filenames you desire.
Montage has many relevant command line
options. You can exercise more control over the appearance of the
VID than with convert.
Next display the directory:
display directory.vid
Finally browse and select an image to display. Move the pointer
to the image and press button 3.
You can create the VID directory with this command:
display 'vid:*.jpg'
You can also select Visual Image... from the File
menu of the command widget.
Note, that creating a VID is time consuming. Creating
them on-the-fly within display may be
less convenient than using montage or
convert . Also, if you create them with
montage. or
convert, you can reuse them as often as
necessary.
Note that a visual image directory is useful for looking at
individual frames of an image sequence:
display vid:movie.mpg
- 14.
I have an HP. How do I take advantage of the Color Recovery
option?
- Type
display -map list image.miff
If you want to use
Color Recovery all the time, put this in your X defaults
file:
display.map: list
Now if you need to turn off Color Recovery temporarily, type
display +dither image.miff
- 15.
I use the window ID reported by xwininfo(1) with import and
it does include the window manager frame as expected. How can I
save the window with its frame?
- By default,
xwininfo(1) returns the ID of the window you click on. Use
the -frame option to get the reparented window ID:
xwininfo -frame
You can then use the returned window ID with
import:
import -frame -window ID window.miff
- 16.
I displayed an image and it appears as one solid color. What did I
do wrong?
- A blank image
generally means that the image is either corrupt or it has a matte
channel and the matte values are all zero. ImageMagick
treats a matte value of zero as completely transparent. To
determine if this is the problem, try
display +matte image.miff
- 17.
I received the following message, "???? library is not available
...". What does it mean?
-
ImageMagick requires source libraries not included with the
distribution to view or convert certain image formats such as JPEG
or TIFF. The above message means you did not compile the required
library and link with the ImageMagick utilities. See
README for the location of these
libraries and compiling instructions.
- 18.
I want to inspect the values of the matte channel within my image.
How can I do that?
- 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:
convert image.tiff image.matte
display -size 640x480 gray:image.matte
- 19.
"Convert in.gif out.png" says "Invalid Parameter -
out.png"
- You have inadvertently run the
Microsoft Windows program called convert.exe, rather than the
ImageMagick program of the same name. The Windows convert.exe
program is used to convert a system boot disk from MS-DOS "FAT"
format to NTFS format. As such it can only be used one time in the
life of a system.
- You
can
- 20.
How can I add one of those cool bevels to my image that I see used
on the Web?
- There are four
types of ornamental borders you can add to your image with
ImageMagick. Each is listed below with the procedure to use them
with your image.
Surround the image with a border of color: 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:
convert -bordercolor red -border 25x25 image.jpg image.gif
Lighten or darken image edges to create a 3-D effect: Use
-raise followed by the width of the image edge. For
example, to create a raised edge effect of 25 pixels, use:
convert -raise 25 image.jpg image.gif
Surround the image with an ornamental frame: 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:
convert -mattecolor gray -frame 25x25 image.jpg image.gif
Surround the image with a raised or sunken bevel: 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:
convert -mattecolor gray -frame 25x25+0+25 image.jpg image.gif
convert -mattecolor gray -frame 25x25+25+0 image.jpg image.gif
- 21.
I try to launch display from my window manager and it fails. What's
up?
-
Display determines if it is executing
interactively and behaves differently depending on the result. To
convince display you are running in an
interactive environment when launching from a window manager, use
either of
display logo:Untitled
display < /dev/console
- 22.
When I convert Postscript to another format, how can I improve the
appearance of the text?
- Simple. Increase
the dots-per-inch when converting and sub-sample:
convert -density 288 -geometry 25% image.ps image.gif
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.
The -density option increases the number of pixels (or
dots) generated by Ghostscript when processing the input postscript
file. However as all other images formats are generally displayed
on screens which are typically about 72 to 100 dots per inch, the
output image will be larger.
The -geometry option reduces the large image output of
ghostscript image back to a normal 72 dpi resolution (25% of 288
dpi gives 72 dpi) but in the process anti-aliases (or smooths) the
fonts and lines of the image so as to remove the jaggies you
would otherwise get from a normal postscript to image
conversion.
- 23.
How can I annotate an image with text that is 2 to 3 inches
tall?
- 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
xlsfonts -fn '*-0-0-0-0-*'
- Or if you are
using display, use the font pattern
above within the Font Browser (see Image Edit->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 Helvetica text:
convert -font '-*-helvetica-*-*-*--300-300-*-*-*-*-iso8859-1' \
-fill green -draw 'text 50,300 Magick' image.gif annotated.gif
If you have the FreeType support built into ImageMagick, just
increase your pointsize and/or density:
convert -font Helvetica -pointsize 100 -density 300 ...
- 24.
How can I convert my GIF animation sequence to individual image
files?
- Use the scene embedded file format
with convert:
- convert animation.gif
frame%02d.gif
- The resulting
image files are titled frame01.gif, frame02.gif,
frame03.gif, etc.
- 25.
How can I remove the background that prints around my image when I
display it with Netscape?
- Use the +page option of the
convert command:
- convert +page alpha.gif
beta.gif
- 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 ImageMagick. Either way, +page
removes the unwanted page offset and Netscape should behave as
expected.
- 26.
How do I create a GIF or PNG image with Web safe
colors?
- Use the -map option of the
convert command:
- convert -map netscape: alpha.gif
beta.gif
- 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.
- 27.
How come Adobe Acrobat 2.1 can't read ImageMagick's PDF
format?
- The default PDF compression is
Zip. You need Acrobat 3.0 and above to read Zip compressed
PDF. Instead use no compression or LZW compression when you create
the PDF file:
- convert +compress images.tiff
image.pdf
- 28.
How can I add a matte layer to my image?
- One way is to use a bitmap as your
transparency mask
- First, use the
-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:
- convert image.gif -matte
temp.miff
- composite
-compose CopyOpacity mask.xbm temp.miff transparent.gif
- 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.
- 29.
How can I draw with text using 'convert' under Windows
NT?
- 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):
- convert -font Arial -fill blue
-draw "text 10,10 'your text here'" d:\test.tif
png:d:\test.png
- and here is another example which is
reported to work (which relies on Ghostscript's 'gs' program to
installed):
- convert.exe -pointsize 18 -draw
"text 0,0 "This is my text!"" C:\blank.gif
c:\text.gif
- 30.
Why are my GIF files larger than expected?
- LZW-compression was not enabled when
ImageMagick was built. Grab the source and configure with the
--enable-lzw option.
- 31.
Why are my JPEG files larger than expected?
- Your JPEG files
may contain embedded "profiles" such as Exif or IPTC, or they may
contain uncompressed thumbnails. You can use the
+profile "*" commandline option or
an equivalent API method to remove them.
- 32.
How do I extract a single image from a multi-image
file?
- Use a
square-bracket syntax to indicate which frame or frames you want.
For example,
convert "Image.gif[0]" first.gif
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.
- 33.
How do I make a blank image?
- There are several
ways of making a blank image:
convert -size 800x600 xc:"#ddddff" ltblue.ppm
convert -size 800x600 null:white white.ppm
- or, to make a
black image whose dimensions are the same as those of an existing
image,
convert in.png -threshold 100% black.ppm
- 34.
There used to be a "combine" utility but it's gone.
- It was replaced
by the "composite" utility. The commandline parameters have been
rearranged.
|