summary refs log tree commit diff
path: root/Completion/Unix/Command/_imagemagick
blob: eac3a2bf77c883ec4d661b9a944ebe90bb8389cb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
#compdef display animate import identify montage convert combine mogrify xtp

local state line expl formats curcontext="$curcontext"
typeset -A opt_args

# Things that could be improved:
#
# - file names and types ($formats)
# - the -draw option
# - urls for xtp
#
# and certainly many other things...

formats=jpg:jpeg:tiff:miff:ras:bmp:cgm:dcx:ps:eps:fig:fits:fpx:gif:mpeg:pbm:pgm:ppm:pcd:pcl:pdf:pcx:png:rad:rgb:rgba:rle:sgi:html:shtml:tga:ttf:uil:xwd:xbm:xpm:yuv

if (( $# )); then
  _files "$@" "$expl[@]" -g '*.(#i)(${~format//:/|})'
  return
fi

case "$service" in
display)
  _arguments -M 'm:{a-z}={A-Z}' \
      '*-backdrop[use full screen]' \
      '*-border:border size (<width>x<height>):' \
      '*-colormap:colormap type:(Shared Private)' \
      '*-colors:preferred number of colors:' \
      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '*-comment:comment string:' \
      '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
      '*-contrast[enhance contrast]' \
      '*+contrast[reduce contrast]' \
      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
      '*-delay:delay for next image (1/100ths of a second):' \
      '*-density:resolution in pixels of image (<width>x<height>):' \
      '*-despeckle[reduce speckles in image]' \
      '*-display:display:_x_display' \
      '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
      '*-dither[apply dithering]' \
      '*-edge:edge detection factor (0.0 - 99.9%):' \
      '*-enhance[enhance noisy image]' \
      '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
      '*-flip[vertical mirror image]' \
      '*-flop[horizontal mirror image]' \
      '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \
      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '*-immutable[disallow image modifications]' \
      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
      '*-label:label string:' \
      '*-map:colormap type for display:(best default gray red green blue)' \
      '*-matte[store matte channel]' \
      '*-monochrome[transform to black and white]' \
      '*-negate[invert image]' \
      '*+negate[invert only grayscale]' \
      '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
      '*-quality:JPEG/MIFF/PNG compression level:' \
      '*-raise:3-D edges (raised):' \
      '*+raise:3-D edges (lowered):' \
      '*-remote:remote command (file name):_imagemagick' \
      '*-roll:image roll offset ({+-}<x>{+-}<y>):' \
      '*-rotate:rotation (degrees{<}{>}):' \
      '*-sample:scale factors (<width>x<height>):' \
      '*-scene:image scene number:' \
      '*-segment:cluster pixel number:' \
      '*-sharpen:sharpening factor (0.0 - 99.9%):' \
      '*-size:image size (<width>x<height>+<offset>):' \
      '*-texture:background texture image:_imagemagick' \
      '*-update:redisplay test time (seconds):' \
      '*-title:image title:' \
      '*-treedepth:color reduction tree depth:' \
      '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \
      '*-window:window ID to display image in:_x_window' \
      '*-write:output filename:_files' \
      '*:picture file:_imagemagick' && return
  ;;

animate)
  _arguments -M 'm:{a-z}={A-Z}' \
      '*-backdrop[use full screen]' \
      '*-colormap:colormap type:(Shared Private)' \
      '*-colors:preferred number of colors:' \
      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
      '*-delay:delay for next image (1/100ths of a second):' \
      '*-density:resolution in pixels of image (<width>x<height>):' \
      '*-display:display:_x_display' \
      '*-dither[apply dithering]' \
      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
      '*-map:colormap type for display:(best default gray red green blue)' \
      '*-monochrome[transform to black and white]' \
      '*-remote:remote command (file name):_imagemagick' \
      '*-rotate:rotation (degrees{<}{>}):' \
      '*-scene:image scene number:' \
      '*-size:image size (<width>x<height>+<offset>):' \
      '*-title:image title:' \
      '*-treedepth:color reduction tree depth:' \
      '*-verbose[print image information]' \
      '*-visual:visual to use for display:(StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor default)' \
      '*-window:window ID to display image in:_x_window' \
      '*:picture file:_imagemagick' && return
  ;;

import)
  _arguments -M 'm:{a-z}={A-Z}' \
      '-adjoin[join images]' \
      '-border:border size (<width>x<height>):' \
      '-colors:preferred number of colors:' \
      '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '-comment:comment string:' \
      '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
      '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
      '-delay:delay for next image (1/100ths of a second):' \
      '-density:resolution in pixels of image (<width>x<height>):' \
      '-descend[descend window hierarchy]' \
      '-display:display:_x_display' \
      '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
      '-dither[apply dithering]' \
      '-frame[include window manager frame]' \
      '-geometry:image geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '-interlace:interlacing scheme:(None Line Plane Partition)' \
      '-monochrome[transform to black and white]' \
      '-negate[invert image]' \
      '+negate[invert only grayscale]' \
      '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
      '-pointsize:Postscript font size:' \
      '-quality:JPEG/MIFF/PNG compression level:' \
      '-rotate:rotation (degrees{<}{>}):' \
      '-scene:number of screen snapshots:' \
      '-screen[get root window]' \
      '-silent[be quiet]' \
      '-transparency:transparent color:_x_color' \
      '-treedepth:color reduction tree depth:' \
      '-verbose[print image information]' \
      '-window:window ID to get:_x_window' \
      ':output file:_files' && return
  ;;

montage)
  _arguments -M 'm:{a-z}={A-Z}' \
      '*-adjoin[join images]' \
      '*-blur:blur factor (0.0 - 99.9%):' \
      '*-colors:preferred number of colors:' \
      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '*-comment:comment string:' \
      '*-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \
      '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
      '*-density:resolution in pixels of image (<width>x<height>):' \
      '*-display:display:_x_display' \
      '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
      '*-dither[apply dithering]' \
      '*+dither[render Postscript without aliasing]' \
      '*-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
      '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
      '*-frame[draw frame around image]' \
      '*-frame[don'\''t draw frame around image]' \
      '*-font:annotation font:_x_font' \
      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
      '*-label:label string:' \
      '*-matte[store matte channel]' \
      '*-mode:montage type:(Frame Unframe Concatenate)' \
      '*-monochrome[transform to black and white]' \
      '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
      '*-pen:font color:_x_color' \
      '*-pointsize:Postscript font size:' \
      '*-quality:JPEG/MIFF/PNG compression level:' \
      '*-rotate:rotation (degrees{<}{>}):' \
      '*-scene:image scene number:' \
      '*-shadow[add shadow]' \
      '*-sharpen:sharpening factor (0.0 - 99.9%):' \
      '*-size:image size (<width>x<height>+<offset>):' \
      '*-texture:background texture image:_imagemagick' \
      '*-tile:number of tiles (<width>x<height>):' \
      '*-transparency:transparent color:_x_color' \
      '*-treedepth:color reduction tree depth:' \
      '*-verbose[print image information]' \
      '*:picture file:_imagemagick' && return
  ;;

convert)
  _arguments -C -M 'm:{a-z}={A-Z}' \
      '-adjoin[join images]' \
      '-antialias[remove pixel aliasing]' \
      '-append[append image sequence]' \
      '-average[average image sequence]' \
      '-blur:blur factor (0.0 - 99.9%):' \
      '-border:border size (<width>x<height>):' \
      '-bordercolor:border color:_x_color' \
      '-box:annotation bounding box color:_x_color' \
      '-charcoal:charcoal drawing factor:' \
      '-coalesce[merge image sequence]:' \
      '-colorize:colorization amount (<num> or <red>/<green>/<blue>):' \
      '-colors:preferred number of colors:' \
      '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '-comment:comment string:' \
      '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
      '-contrast[enhance contrast]' \
      '+contrast[reduce contrast]' \
      '-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
      '-cycle:image colormap shift:' \
      '-deconstruct[break down image sequence into parts]' \
      '-delay:delay for next image (1/100ths of a second):' \
      '-density:resolution in pixels of image (<width>x<height>):' \
      '-depth:image depth:(8 16)' \
      '-despeckle[reduce speckles in image]' \
      '-display:display:_x_display' \
      '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
      '-dither[apply dithering]' \
      '-draw:drawing primitive:compadd -S "\\ " - rectangle circle ellipse polygon color matte text image' \
      '-edge:edge detection factor (0.0 - 99.9%):' \
      '-emboss[emboss image]' \
      '-enhance[enhance image]' \
      '-equalize[histogram equalization]' \
      '-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
      '-flip[vertical mirror image]' \
      '-flop[horizontal mirror image]' \
      '-font:annotation font:_x_font' \
      '-frame:border dimensions (<width>x<height>+<out>+<in>)' \
      '-fuzz:maximum distance for equal colors:' \
      '-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
      '-implode:implosion factor (0.0 - 99.9%):' \
      '-interlace:interlacing scheme:(None Line Plane Partition)' \
      '-label:label string:' \
      '-layer:layer type:(Red Green Blue Matte)' \
      '-linewidth:line width:' \
      '-loop:number of iterations (GIF animation):' \
      '-map[single image colormap file]:picture file for colors:_imagemagick' \
      '+map[all images colormap file]:picture file for colors:_imagemagick' \
      '-matte[store matte channel]' \
      '-modulate:<brightness>,<saturation>,<hue>:' \
      '-monochrome[transform to black and white]' \
      '-morph[morph image sequence]' \
      '-negate[invert image]' \
      '+negate[invert only grayscale]' \
      '-noise[noise peak elimination]' \
      '+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \
      '-normalize[use full color value range]' \
      '-opaque:image pen color:_x_color' \
      '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
      '-paint:oil painting radius:' \
      '-pen:font color:_x_color' \
      '-pointsize:Postscript font size:' \
      '-preview:image preview type:(Rotate Shear Roll Hue Saturation Brightness Gamma Spiff Dull Grayscale Quantize Despeckle ReduceNoise AddNoise Sharpen Blur Threshold Edge Detect Spread Shade Raise Segment Solarize Swirl Implode Wave OilPaint CharcoalDrawing JPEG)' \
      '-profile:information profile:->profile' \
      '-quality:JPEG/MIFF/PNG compression level:' \
      '-raise:lighten or darken edges (<width>x<height>):' \
      '-region:image region (<width>x<height>{+-}<x>{+-}<y>):' \
      '-roll:image roll offset ({+-}<x>{+-}<y>):' \
      '-rotate:rotation (degrees{<}{>}):' \
      '-sample:scale factors (<width>x<height>):' \
      '-scene:image scene number:' \
      '-seed:random number seed:' \
      '-segment:segment thresholds (<cluster>x<smoothing>):' \
      '-shade:image shading (<azimuth>x<elevation>):' \
      '-sharpen:sharpening factor (0.0 - 99.9%):' \
      '-shear:shearing angles (<x>x<y> in degrees):' \
      '-size:image size (<width>x<height>+<offset>):' \
      '-solarize:solarization threshold:' \
      '-spread:neighborhood size:' \
      '-swirl:swirl tightness:' \
      '-texture:background texture image:_imagemagick' \
      '-threshold:threshold for maximum intensity:' \
      '-transparency:transparent color:_x_color' \
      '-treedepth:color reduction tree depth:' \
      '-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \
      '-verbose[print image information]' \
      '-view:FlashPix viewing parameters:' \
      '-wave:sine wave parameters (<amplitude>x<wavelength>):' \
      '*:picture file:_imagemagick' && return 0

    if [[ "$state" = profile ]]; then
      if compset -P '*:'; then
	_files
      else
	_wanted prefixes expl 'profile type' compadd icc: iptc:
      fi
      return
    fi
  ;;

combine)
  _arguments -M 'm:{a-z}={A-Z}' \
      '-blend:blending factor (0.0 - 99.9%):' \
      '-colors:preferred number of colors:' \
      '-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '-comment:comment string:' \
      '-compose:image composition type:(Over In Out Atop Xor Plus Minus Add Subtract Difference Bumpmap Replace ReplaceRed ReplaceGreen ReplaceBlue ReplaceMatte)' \
      '-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
      '-density:resolution in pixels of image (<width>x<height>):' \
      '-displace:displacements scales (<horizontal>x<vertical>):' \
      '-display:display:_x_display' \
      '-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
      '-dither[apply dithering]' \
      '+dither[render Postscript without aliasing]' \
      '-font:normal text font:_x_font' \
      '-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
      '-interlace:interlacing scheme:(None Line Plane Partition)' \
      '-label:label string:' \
      '-matte[store matte channel]' \
      '-monochrome[transform to black and white]' \
      '-negate[invert image]' \
      '+negate[invert only grayscale]' \
      '-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
      '-quality:JPEG/MIFF/PNG compression level:' \
      '-scene:image scene number:' \
      '-stegano:watermark offset:' \
      '-stereo[create stereo anaglyph]' \
      '-tile[repeat composite operation]' \
      '-treedepth:color reduction tree depth:' \
      '-verbose[print image information]' \
      ':image file:_imagemagick' \
      ':composite file:_imagemagick' \
      ':mask or combined file:_imagemagick' \
      ':combined file:_files' && return
  ;;

mogrify)
  _arguments -M 'm:{a-z}={A-Z}' \
      '*-antialias[remove pixel aliasing]' \
      '*-blur:blur factor (0.0 - 99.9%):' \
      '*-border:border size (<width>x<height>):' \
      '*-bordercolor:border color:_x_color' \
      '*-box:annotation bounding box color:_x_color' \
      '*-charcoal:charcoal drawing factor:' \
      '*-colorize:colorization amount (<num> or <red>/<green>/<blue>):' \
      '*-colors:preferred number of colors:' \
      '*-colorspace:colorspace type:(GRAY OHTA RGB Transparent XYZ YCbCr YIQ YPbPr YUV CMYK)' \
      '*-comment:comment string:' \
      '*-compress:image compression type:(None BZip Fax Group4 JPEG LZW RunlengthEncoded Zip)' \
      '*-contrast[enhance contrast]' \
      '*+contrast[reduce contrast]' \
      '*-crop:crop image (<width>x<height>{+-}<x>{+-}<y>{%}):' \
      '*-cycle:image colormap shift:' \
      '*-delay:delay for next image (1/100ths of a second):' \
      '*-density:resolution in pixels of image (<width>x<height>):' \
      '*-depth:image depth:(8 16)' \
      '*-despeckle[reduce speckles in image]' \
      '*-display:display:_x_display' \
      '*-dispose:GIF disposal method:((0:no\ disposal 1\:don'\''t\ dispose\ between\ frames 2\:overwrite\ frame\ with\ background\ color 3\:overwrite\ with\ previous\ frame))' \
      '*-dither[apply dithering]' \
      '*+dither[render Postscript without aliasing]' \
      '*-draw:drawing primitive:compadd -S "\\ " - point line rectangle fillRectangle circle fillCircle ellipse fillEllipse polygon fillPolygon color matte text image' \
      '*-edge:edge detection factor (0.0 - 99.9%):' \
      '*-emboss[emboss image]' \
      '*-enhance[enhance image]' \
      '*-equalize[histogram equalization]' \
      '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \
      '*-flip[vertical mirror image]' \
      '*-flop[horizontal mirror image]' \
      "*-format:output file format:(${formats//:/ })" \
      '*-font:annotation font:_x_font' \
      '*-frame:border dimensions (<width>x<height>+<out>+<in>)' \
      '*-fuzz:maximum distance for equal colors:' \
      '*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>):' \
      '*-geometry:window geometry (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):' \
      '*-gravity:image gravity:(Center North NorthEast East SouthEast South SouthWest West NorthWest)' \
      '*-implode:implosion factor (0.0 - 99.9%):' \
      '*-interlace:interlacing scheme:(None Line Plane Partition)' \
      '*-layer:layer type:(Red Green Blue Matte)' \
      '*-linewidth:line width:' \
      '*-loop:number of iterations (GIF animation):' \
      '*-map[single image colormap file]:picture file for colors:_imagemagick' \
      '*+map[all images colormap file]:picture file for colors:_imagemagick' \
      '*-matte[store matte channel]' \
      '*-modulate:<brightness>,<saturation>,<hue>:' \
      '*-monochrome[transform to black and white]' \
      '*-negate[invert image]' \
      '*+negate[invert only grayscale]' \
      '*-noise[noise peak elimination]' \
      '*+noise:noise type:(Uniform Gaussian Multiplicative Impulse Laplacian Poisson)' \
      '*-normalize[use full color value range]' \
      '*-opaque:image pen color:_x_color' \
      '*-page:geometry of image canvas (<width>x<height>{+-}<x>{+-}<y>{%}{!}{<}{>}):(11x17 Ledger Legal Letter LetterSmall ArchE ArchD ArchC ArchB ArchA A0 A1 A2 A3 A4 A4Small A5 A6 A7 A8 A9 A10 B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 Flsa Flse HalfLetter)' \
      '*-paint:oil painting radius:' \
      '*-pen:font color:_x_color' \
      '*-pointsize:Postscript font size:' \
      '*-quality:JPEG/MIFF/PNG compression level:' \
      '*-raise:lighten or darken edges (<width>x<height>):' \
      '*-region:image region (<width>x<height>{+-}<x>{+-}<y>):' \
      '*-resize:size (<width>x<height>{%}{@}{!}{<}{>}):' \
      '*-roll:image roll offset ({+-}<x>{+-}<y>):' \
      '*-rotate:rotation (degrees{<}{>}):' \
      '*-sample:scale factors (<width>x<height>):' \
      '*-scene:image scene number:' \
      '*-seed:random number seed:' \
      '*-segment:segment thresholds (<cluster>x<smoothing>):' \
      '*-shade:image shading (<azimuth>x<elevation>):' \
      '*-sharpen:sharpening factor (0.0 - 99.9%):' \
      '*-shave:shave edges (<width>x<height>{%}):' \
      '*-shear:shearing angles (<x>x<y> in degrees):' \
      '*-size:image size (<width>x<height>+<offset>):' \
      '*-solarize:solarization threshold:' \
      '*-spread:neighborhood size:' \
      '*-swirl:swirl tightness:' \
      '*-texture:background texture image:_imagemagick' \
      '*-threshold:threshold for maximum intensity:' \
      '*-transparency:transparent color:_x_color' \
      '*-treedepth:color reduction tree depth:' \
      '*-units:image resolution type:(Undefined PixelsPerInch PixelsPerCentimeter)' \
      '*-verbose[print image information]' \
      '*-view:FlashPix viewing parameters:' \
      '*-wave:sine wave parameters (<amplitude>x<wavelength>):' \
      '*:picture file:_imagemagick' && return
  ;;

xtp)
  _arguments -M 'm:{a-z}={A-Z}' \
      '-account:password:' \
      '-binary[retrieve files as binary]' \
      '-directory[list directory]' \
      '-exclude:regular expression for exclusion:' \
      '-file:output file:_files' \
      '-get[get files]' \
      '-port:port: _ports' \
      '-proxy:host of proxy ftp deamon:_hosts' \
      '-print[print files]' \
      '-prune[process files from remote directory]' \
      '-put[put files]' \
      '-retrieve[retrieve matching files]' \
      '-timeout:maximum timeout:' \
      '-type:remote system type:(UNIX VMS other)' \
      ':url: _urls' && return
  ;;

identify)
  _arguments \
      '*-density:resolution in pixels of image (<width>x<height>):' \
      '*-depth[specify image depth]:image depth:(8 16)' \
      '*-size:image size (<width>x<height>+<offset>):' \
      '*-verbose[print more detailed info about image]' \
      '*-noop[disable effect of preceding options]' \
      '*:picture file:_imagemagick' && return
 ;;

*)
  _message 'eh?'
esac

return 1