rmagick 1.15.17 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- data/ChangeLog +78 -25
- data/README.html +117 -188
- data/README.txt +116 -181
- data/build_tarball.rake +205 -0
- data/doc/comtasks.html +2 -2
- data/doc/constants.html +118 -44
- data/doc/draw.html +57 -99
- data/doc/ex/adaptive_threshold.rb +1 -10
- data/doc/ex/add_noise.rb +4 -5
- data/doc/ex/axes.rb +1 -1
- data/doc/ex/bilevel_channel.rb +2 -13
- data/doc/ex/bounding_box.rb +3 -4
- data/doc/ex/channel.rb +6 -7
- data/doc/ex/clip_path.rb +11 -5
- data/doc/ex/color_histogram.rb +8 -20
- data/doc/ex/composite_layers.rb +53 -0
- data/doc/ex/fill_pattern.rb +26 -0
- data/doc/ex/get_multiline_type_metrics.rb +26 -37
- data/doc/ex/get_type_metrics.rb +25 -25
- data/doc/ex/images/notimplemented.gif +0 -0
- data/doc/ex/level.rb +1 -1
- data/doc/ex/matte_floodfill.rb +5 -6
- data/doc/ex/matte_replace.rb +5 -6
- data/doc/ex/negate_channel.rb +0 -10
- data/doc/ex/opacity.rb +3 -5
- data/doc/ex/polaroid.rb +4 -1
- data/doc/ex/posterize.rb +1 -12
- data/doc/ex/preview.rb +1 -8
- data/doc/ex/radial_blur.rb +1 -11
- data/doc/ex/raise.rb +1 -4
- data/doc/ex/random_threshold_channel.rb +4 -9
- data/doc/ex/sepiatone.rb +2 -9
- data/doc/ex/shadow.rb +12 -18
- data/doc/ex/sketch.rb +2 -9
- data/doc/ex/smile.rb +7 -7
- data/doc/ex/splice.rb +3 -10
- data/doc/ex/stegano.rb +5 -0
- data/doc/ex/threshold.rb +2 -2
- data/doc/ex/transpose.rb +1 -8
- data/doc/ex/transverse.rb +1 -8
- data/doc/ex/trim.rb +1 -2
- data/doc/ex/viewex.rb +4 -5
- data/doc/ex/vignette.rb +1 -8
- data/doc/ex/watermark.rb +1 -0
- data/doc/ex/wet_floor.rb +8 -14
- data/doc/ilist.html +301 -110
- data/doc/image1.html +362 -258
- data/doc/image2.html +429 -286
- data/doc/image3.html +418 -192
- data/doc/imageattrs.html +100 -39
- data/doc/imusage.html +26 -21
- data/doc/index.html +52 -93
- data/doc/info.html +160 -64
- data/doc/magick.html +37 -71
- data/doc/optequiv.html +155 -61
- data/doc/rvg.html +3 -3
- data/doc/rvgclip.html +2 -2
- data/doc/rvggroup.html +2 -2
- data/doc/rvgimage.html +3 -3
- data/doc/rvgpattern.html +3 -3
- data/doc/rvgshape.html +2 -2
- data/doc/rvgstyle.html +2 -2
- data/doc/rvgtext.html +2 -2
- data/doc/rvgtspan.html +4 -4
- data/doc/rvgtut.html +4 -4
- data/doc/rvguse.html +3 -3
- data/doc/rvgxform.html +2 -2
- data/doc/struct.html +26 -29
- data/doc/usage.html +99 -48
- data/examples/crop_with_gravity.rb +46 -0
- data/examples/demo.rb +2 -2
- data/examples/histogram.rb +11 -11
- data/examples/identify.rb +45 -45
- data/examples/spinner.rb +3 -2
- data/ext/RMagick/MANIFEST +7 -8
- data/ext/RMagick/extconf.rb +242 -0
- data/ext/RMagick/rmagick.h +136 -222
- data/ext/RMagick/rmdraw.c +226 -229
- data/ext/RMagick/rmfill.c +69 -118
- data/ext/RMagick/rmilist.c +234 -94
- data/ext/RMagick/rmimage.c +1719 -2564
- data/ext/RMagick/rminfo.c +433 -619
- data/ext/RMagick/rmmain.c +249 -487
- data/ext/RMagick/rmutil.c +344 -563
- data/lib/RMagick.rb +414 -358
- data/lib/rvg/clippath.rb +2 -2
- data/lib/rvg/container.rb +2 -2
- data/lib/rvg/describable.rb +2 -2
- data/lib/rvg/embellishable.rb +2 -2
- data/lib/rvg/misc.rb +3 -3
- data/lib/rvg/paint.rb +2 -7
- data/lib/rvg/pathdata.rb +2 -2
- data/lib/rvg/rvg.rb +2 -2
- data/lib/rvg/stretchable.rb +2 -14
- data/lib/rvg/stylable.rb +2 -2
- data/lib/rvg/text.rb +2 -2
- data/lib/rvg/transformable.rb +2 -2
- data/lib/rvg/units.rb +2 -2
- data/{metaconfig.in → metaconfig} +0 -1
- data/post-setup.rb +1 -1
- data/rmagick.gemspec +6 -9
- metadata +41 -49
- data/Makefile.in +0 -42
- data/configure +0 -12358
- data/configure.ac +0 -791
- data/ext/RMagick/extconf.rb.in +0 -25
- data/ext/RMagick/rmagick_config.h.in +0 -285
- data/gem_extconf.rb +0 -42
data/doc/image3.html
CHANGED
@@ -4,10 +4,9 @@
|
|
4
4
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
5
5
|
<head>
|
6
6
|
<meta name="generator" content=
|
7
|
-
"HTML Tidy for Linux/x86 (vers
|
7
|
+
"HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org" />
|
8
8
|
|
9
|
-
<title>RMagick
|
10
|
-
3)</title>
|
9
|
+
<title>RMagick 2.0.0: class Image (instance methods p-w)</title>
|
11
10
|
<meta http-equiv="Content-Type" content=
|
12
11
|
"text/html; charset=us-ascii" />
|
13
12
|
<meta name="GENERATOR" content="Quanta Plus" />
|
@@ -52,7 +51,7 @@
|
|
52
51
|
</head>
|
53
52
|
|
54
53
|
<body>
|
55
|
-
<h6 id="header">RMagick
|
54
|
+
<h6 id="header">RMagick 2.0.0 User's Guide and Reference</h6>
|
56
55
|
|
57
56
|
<div class="nav">
|
58
57
|
« <a href="image2.html">Prev</a> | <a href=
|
@@ -61,7 +60,7 @@
|
|
61
60
|
</div>
|
62
61
|
|
63
62
|
<h1>class Image <span class="superclass">< Object</span>
|
64
|
-
(
|
63
|
+
(instance methods p-w)<br />
|
65
64
|
<span class="mixin">mixes in Comparable</span></h1>
|
66
65
|
|
67
66
|
<div id="toc">
|
@@ -72,6 +71,14 @@
|
|
72
71
|
<div>
|
73
72
|
<div class="toccol">
|
74
73
|
<ul>
|
74
|
+
<li><a href="#palette_q">palette?</a></li>
|
75
|
+
|
76
|
+
<li><a href="#pixel_color">pixel_color</a></li>
|
77
|
+
|
78
|
+
<li><a href="#polaroid">polaroid</a></li>
|
79
|
+
|
80
|
+
<li><a href="#posterize">posterize</a></li>
|
81
|
+
|
75
82
|
<li><a href="#preview">preview</a></li>
|
76
83
|
|
77
84
|
<li><a href="#profile_bang">profile!</a></li>
|
@@ -115,17 +122,19 @@
|
|
115
122
|
<li><a href="#sample">sample</a></li>
|
116
123
|
|
117
124
|
<li><a href="#sample_bang">sample!</a></li>
|
118
|
-
|
119
|
-
<li><a href="#scale">scale</a></li>
|
120
|
-
|
121
|
-
<li><a href="#scale_bang">scale!</a></li>
|
122
125
|
</ul>
|
123
126
|
</div>
|
124
127
|
|
125
128
|
<div class="toccol">
|
126
129
|
<ul>
|
130
|
+
<li><a href="#scale">scale</a></li>
|
131
|
+
|
132
|
+
<li><a href="#scale_bang">scale!</a></li>
|
133
|
+
|
127
134
|
<li><a href="#segment">segment</a></li>
|
128
135
|
|
136
|
+
<li><a href="#separate">separate</a></li>
|
137
|
+
|
129
138
|
<li><a href="#sepiatone">sepiatone</a></li>
|
130
139
|
|
131
140
|
<li><a href=
|
@@ -158,8 +167,6 @@
|
|
158
167
|
|
159
168
|
<li><a href="#spread">spread</a></li>
|
160
169
|
|
161
|
-
<li><a href="#statistics">statistics</a></li>
|
162
|
-
|
163
170
|
<li><a href="#stegano">stegano</a></li>
|
164
171
|
|
165
172
|
<li><a href="#stereo">stereo</a></li>
|
@@ -170,13 +177,15 @@
|
|
170
177
|
|
171
178
|
<li><a href="#swirl">swirl</a></li>
|
172
179
|
|
173
|
-
<li><a href=
|
174
|
-
"#texture_fill_to_border">texture_fill_to_border</a></li>
|
180
|
+
<li><a href="#sync_profiles">sync_profiles</a></li>
|
175
181
|
</ul>
|
176
182
|
</div>
|
177
183
|
|
178
184
|
<div class="toccol">
|
179
185
|
<ul>
|
186
|
+
<li><a href=
|
187
|
+
"#texture_fill_to_border">texture_fill_to_border</a></li>
|
188
|
+
|
180
189
|
<li><a href=
|
181
190
|
"#texture_floodfill">texture_floodfill</a></li>
|
182
191
|
|
@@ -231,6 +240,207 @@
|
|
231
240
|
|
232
241
|
<h2 class="methods">instance methods</h2>
|
233
242
|
|
243
|
+
<div class="sig">
|
244
|
+
<h3 id="palette_q">palette?</h3>
|
245
|
+
|
246
|
+
<p><span class="arg">image</span>.palette? -> true or
|
247
|
+
false</p>
|
248
|
+
</div>
|
249
|
+
|
250
|
+
<div class="desc">
|
251
|
+
<h4>Description</h4>
|
252
|
+
|
253
|
+
<p class="imquote">Returns true if the image is <a href=
|
254
|
+
"constants.html#ClassType">PseudoClass</a> and has 256 unique
|
255
|
+
colors or less.</p>
|
256
|
+
|
257
|
+
<h4>Returns</h4>
|
258
|
+
|
259
|
+
<p>true or false</p>
|
260
|
+
|
261
|
+
<h4>Magick API</h4>
|
262
|
+
|
263
|
+
<p>IsPaletteImage</p>
|
264
|
+
</div>
|
265
|
+
|
266
|
+
<div class="sig">
|
267
|
+
<h3 id="pixel_color">pixel_color</h3>
|
268
|
+
|
269
|
+
<p><span class="arg">image</span>.pixel_color(<span class=
|
270
|
+
"arg">x</span>, <span class="arg">y</span>[, <span class=
|
271
|
+
"arg">new_color</span>]) -> <em>aPixel</em></p>
|
272
|
+
</div>
|
273
|
+
|
274
|
+
<div class="desc">
|
275
|
+
<h4>Description</h4>
|
276
|
+
|
277
|
+
<p>Returns the color of the pixel at <span class=
|
278
|
+
"arg">x</span>, <span class="arg">y</span>. Optionally, changes
|
279
|
+
the color of the pixel to a new color.</p>
|
280
|
+
|
281
|
+
<p>If new_color is specified, pixel_color changes the image
|
282
|
+
type to DirectClass if necessary.</p>
|
283
|
+
|
284
|
+
<h4>Arguments</h4>
|
285
|
+
|
286
|
+
<dl>
|
287
|
+
<dt>x, y</dt>
|
288
|
+
|
289
|
+
<dd>The x- and y-coordinates of the pixel.</dd>
|
290
|
+
|
291
|
+
<dt>new_color</dt>
|
292
|
+
|
293
|
+
<dd>If specified, the pixel is set to this color. May be
|
294
|
+
either a <a href="imusage.html#color_names">color name</a> or
|
295
|
+
a <a href="struct.html#Pixel">Pixel</a>.</dd>
|
296
|
+
</dl>
|
297
|
+
|
298
|
+
<h4>Returns</h4>A <a href="struct.html#Pixel">Pixel</a> having
|
299
|
+
the RGB values of the specified pixel.
|
300
|
+
|
301
|
+
<h4>Example</h4>
|
302
|
+
<pre>
|
303
|
+
old = image.pixel_color(20,40,"white")
|
304
|
+
</pre>
|
305
|
+
|
306
|
+
<h4>Magick API</h4>
|
307
|
+
|
308
|
+
<p>AcquireImagePixels</p>
|
309
|
+
</div>
|
310
|
+
|
311
|
+
<div class="sig">
|
312
|
+
<h3 id="polaroid">polaroid</h3>
|
313
|
+
|
314
|
+
<p>image.polaroid(angle=-5.0) [ <span class="arg">{ optional
|
315
|
+
arguments }</span> ] -> anImage</p>
|
316
|
+
</div>
|
317
|
+
|
318
|
+
<div class="desc">
|
319
|
+
<h4>Description</h4>
|
320
|
+
|
321
|
+
<p>Produce an image that looks like a Polaroid® instant
|
322
|
+
picture. If the image has a "Caption" <a href=
|
323
|
+
"image1.html#aset">property</a>, the value is used as a
|
324
|
+
caption.</p>
|
325
|
+
|
326
|
+
<p>Optional arguments may be specified in a block associated
|
327
|
+
with the method. These arguments control the shadow color and
|
328
|
+
how the label is rendered. By default the shadow color is
|
329
|
+
gray75. To specify a different shadow color, use
|
330
|
+
<code>self.shadow_color</code>. To specify a different border
|
331
|
+
color (that is, the color of the image border) use
|
332
|
+
<code>self.border_color</code>. Both of these methods accept
|
333
|
+
either a <a href="imusage.html#color_names">color name</a> or a
|
334
|
+
<a href="struct.html#Pixel">Pixel</a> argument.</p>
|
335
|
+
|
336
|
+
<p>The following <a href="draw.html#annotate">annotate</a>
|
337
|
+
attributes control the label rendering: <a href=
|
338
|
+
"draw.html#align_eq">align</a>, <a href=
|
339
|
+
"draw.html#decorate_eq">decorate</a>, <a href=
|
340
|
+
"draw.html#density_eq">density</a>, <a href=
|
341
|
+
"draw.html#encoding_eq">encoding</a>, <a href=
|
342
|
+
"draw.html#fill_eq">fill</a>, <a href=
|
343
|
+
"draw.html#font_eq">font</a>, <a href=
|
344
|
+
"draw.html#font_family_eq">font_family</a>, <a href=
|
345
|
+
"draw.html#font_stretch_eq">font_stretch</a>, <a href=
|
346
|
+
"draw.html#font_style_eq">font_style</a>, <a href=
|
347
|
+
"draw.html#font_weight_eq">font_weight</a>, <a href=
|
348
|
+
"draw.html#gravity_eq">gravity</a>, <a href=
|
349
|
+
"draw.html#pointsize_eq">pointsize</a>, <a href=
|
350
|
+
"draw.html#stroke_eq">stroke</a>, <a href=
|
351
|
+
"draw.html#stroke_width_eq">stroke_width</a>, <a href=
|
352
|
+
"draw.html#text_antialias_eq">text_antialias</a>, <a href=
|
353
|
+
"draw.html#undercolor_eq">undercolor</a>.</p>
|
354
|
+
<pre>
|
355
|
+
img.polaroid do
|
356
|
+
self.shadow_color = "gray40"
|
357
|
+
self.pointsize = 12
|
358
|
+
end
|
359
|
+
</pre>
|
360
|
+
|
361
|
+
<h4>Arguments</h4>
|
362
|
+
|
363
|
+
<dl>
|
364
|
+
<dt>angle</dt>
|
365
|
+
|
366
|
+
<dd>The resulting image is rotated by this amount, measured
|
367
|
+
in degrees. The default is -5.0.</dd>
|
368
|
+
</dl>
|
369
|
+
|
370
|
+
<h4>Example</h4>
|
371
|
+
|
372
|
+
<p><a href="javascript:popup('polaroid.rb.html')"><img src=
|
373
|
+
"ex/polaroid.jpg" alt="polaroid example" /></a></p>
|
374
|
+
|
375
|
+
<h4>Magick API</h4>
|
376
|
+
|
377
|
+
<p>PolaroidImage</p>
|
378
|
+
|
379
|
+
<h4>See also</h4>
|
380
|
+
|
381
|
+
<p><a href=
|
382
|
+
"http://rmagick.rubyforge.org/Polaroid/polaroid.html">The
|
383
|
+
Polaroid Effect</a></p>
|
384
|
+
|
385
|
+
<h4>Notes</h4>
|
386
|
+
|
387
|
+
<p>"Polaroid" and the other names of products of Polaroid
|
388
|
+
Corporation are trademarks of Polaroid Corporation.</p>
|
389
|
+
</div>
|
390
|
+
|
391
|
+
<div class="sig">
|
392
|
+
<h3 id="posterize">posterize</h3>
|
393
|
+
|
394
|
+
<p><span class="arg">image</span>.posterize(<span class=
|
395
|
+
"arg">levels</span>=4, <span class="arg">dither</span>=false)
|
396
|
+
-> <em>anImage</em></p>
|
397
|
+
</div>
|
398
|
+
|
399
|
+
<div class="desc">
|
400
|
+
<h4>Description</h4>
|
401
|
+
|
402
|
+
<p class="imquote">Reduces the image to a limited number of
|
403
|
+
colors for a "poster" effect.</p>
|
404
|
+
|
405
|
+
<h4>Arguments</h4>
|
406
|
+
|
407
|
+
<dl>
|
408
|
+
<dt>levels</dt>
|
409
|
+
|
410
|
+
<dd><span class="imquote">Number of color levels allowed in
|
411
|
+
each channel. Very low values (2, 3, or 4) have the most
|
412
|
+
visible effect.</span> The default is 4.</dd>
|
413
|
+
|
414
|
+
<dt>dither</dt>
|
415
|
+
|
416
|
+
<dd>If true, dither the image. The default is false.</dd>
|
417
|
+
</dl>
|
418
|
+
|
419
|
+
<h4>Returns</h4>
|
420
|
+
|
421
|
+
<p>A new image</p>
|
422
|
+
|
423
|
+
<h4>Example</h4>
|
424
|
+
|
425
|
+
<p class="rollover"><a href=
|
426
|
+
"javascript:popup('posterize.rb.html')"><img src=
|
427
|
+
"ex/posterize.jpg" alt="posterize example" onmouseover=
|
428
|
+
"this.src='ex/images/Flower_Hat.jpg'" onmouseout=
|
429
|
+
"this.src='ex/posterize.jpg'" title=
|
430
|
+
"Click to see the example script" /></a> <img src=
|
431
|
+
"ex/images/spin.gif" alt="" class="spin" title=
|
432
|
+
"Mouse over the example to see the original image" /></p>
|
433
|
+
|
434
|
+
<h4>See also</h4>
|
435
|
+
|
436
|
+
<p><a href="image2.html#ordered_dither">ordered_dither</a>,
|
437
|
+
<a href="image3.html#quantize">quantize</a></p>
|
438
|
+
|
439
|
+
<h4>Magick API</h4>
|
440
|
+
|
441
|
+
<p>PosterizeImage</p>
|
442
|
+
</div>
|
443
|
+
|
234
444
|
<div class="sig">
|
235
445
|
<h3 id="preview">preview</h3>
|
236
446
|
|
@@ -388,7 +598,7 @@
|
|
388
598
|
|
389
599
|
<h4>Notes</h4>
|
390
600
|
|
391
|
-
<p
|
601
|
+
<p>ImageMagick does not automatically remove profiles when
|
392
602
|
resizing images. If you are trying to make your JPEG thumbnail
|
393
603
|
images as small as possible, use <code>profile!</code> to
|
394
604
|
remove any profiles from the image as well. Also see <a href=
|
@@ -456,7 +666,7 @@
|
|
456
666
|
|
457
667
|
<dd>The maximum number of colors in the result image. Must be
|
458
668
|
<= <a href=
|
459
|
-
"constants.html#Miscellaneous_constants">
|
669
|
+
"constants.html#Miscellaneous_constants">QuantumRange</a>.</dd>
|
460
670
|
|
461
671
|
<dt>colorspace</dt>
|
462
672
|
|
@@ -472,20 +682,22 @@
|
|
472
682
|
|
473
683
|
<dt>dither</dt>
|
474
684
|
|
475
|
-
<dd
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
dithering to achieve a similar looking image.</dd>
|
685
|
+
<dd>Set to <code>false</code> to disable dithering. See the
|
686
|
+
documentation for the <a href=
|
687
|
+
"http://redux.imagemagick.org/script/command-line-options.php#dither">
|
688
|
+
ImageMagick -dither option</a> for more information.</dd>
|
480
689
|
|
481
690
|
<dt>tree_depth</dt>
|
482
691
|
|
483
|
-
<dd class="imquote">The tree depth to use while
|
484
|
-
The values 0 and 1 support automatic tree depth
|
692
|
+
<dd><span class="imquote">The tree depth to use while
|
693
|
+
quantizing. The values 0 and 1 support automatic tree depth
|
485
694
|
determination. The tree depth may be forced via values
|
486
695
|
ranging from 2 to 8. The ideal tree depth depends on the
|
487
696
|
characteristics of the input image, and may be determined
|
488
|
-
through experimentation.</
|
697
|
+
through experimentation.</span> See the documentation for the
|
698
|
+
<a href=
|
699
|
+
"http://redux.imagemagick.org/script/command-line-options.php#treedepth">
|
700
|
+
ImageMagick -treedepth option</a> for more information.</dd>
|
489
701
|
|
490
702
|
<dt>measure_error</dt>
|
491
703
|
|
@@ -505,7 +717,7 @@
|
|
505
717
|
<h4>See also</h4>
|
506
718
|
|
507
719
|
<p><a href="image2.html#ordered_dither">ordered_dither</a>,
|
508
|
-
<a href="
|
720
|
+
<a href="image3.html#posterize">posterize</a>, <a href=
|
509
721
|
"ilist.html#quantize">ImageList#quantize</a></p>
|
510
722
|
|
511
723
|
<h4>Magick API</h4>
|
@@ -553,9 +765,9 @@
|
|
553
765
|
|
554
766
|
<li><code>LShiftQuantumOperator</code></li>
|
555
767
|
|
556
|
-
<li><code>MaxQuantumOperator
|
768
|
+
<li><code>MaxQuantumOperator</code></li>
|
557
769
|
|
558
|
-
<li><code>MinQuantumOperator
|
770
|
+
<li><code>MinQuantumOperator</code></li>
|
559
771
|
|
560
772
|
<li><code>MultiplyQuantumOperator</code></li>
|
561
773
|
|
@@ -566,7 +778,7 @@
|
|
566
778
|
<li><code>SubtractQuantumOperator</code></li>
|
567
779
|
|
568
780
|
<li><code>XorQuantumOperator</code></li>
|
569
|
-
</ul
|
781
|
+
</ul>
|
570
782
|
</dd>
|
571
783
|
|
572
784
|
<dt>rvalue</dt>
|
@@ -598,8 +810,9 @@ img.quantum_operator(DivideQuantumOperator, 2, RedChannel)
|
|
598
810
|
well as operations on channels within pixels. See <a href=
|
599
811
|
"#view">view</a>, below.</p>
|
600
812
|
|
601
|
-
<h4>Magick API</h4>
|
602
|
-
|
813
|
+
<h4>Magick API</h4>
|
814
|
+
|
815
|
+
<p>EvaluateImageChannel</p>
|
603
816
|
</div>
|
604
817
|
|
605
818
|
<div class="sig">
|
@@ -687,7 +900,7 @@ img.quantum_operator(DivideQuantumOperator, 2, RedChannel)
|
|
687
900
|
|
688
901
|
<h4>Magick API</h4>
|
689
902
|
|
690
|
-
<p>RadialBlurImageChannel
|
903
|
+
<p>RadialBlurImageChannel</p>
|
691
904
|
</div>
|
692
905
|
|
693
906
|
<div class="sig">
|
@@ -767,12 +980,13 @@ img.quantum_operator(DivideQuantumOperator, 2, RedChannel)
|
|
767
980
|
<dd><span class="imquote">A geometry string containing
|
768
981
|
LOWxHIGH thresholds.</span> The string is in the form `XxY'.
|
769
982
|
The Y value may be omitted, in which case it is assigned the
|
770
|
-
value
|
771
|
-
are assumed to be percentages of
|
772
|
-
"imquote">If the string contains 2x2, 3x3, or
|
773
|
-
ordered dither of order 2, 3, or 4 will be
|
774
|
-
instead.</span> A <a href=
|
775
|
-
object may be used as
|
983
|
+
value QuantumRange-X. If an % appears in the string then the
|
984
|
+
values are assumed to be percentages of QuantumRange.
|
985
|
+
<span class="imquote">If the string contains 2x2, 3x3, or
|
986
|
+
4x4, then an ordered dither of order 2, 3, or 4 will be
|
987
|
+
performed instead.</span> A <a href=
|
988
|
+
"struct.html#Geometry">Geometry</a> object may be used as
|
989
|
+
well.</dd>
|
776
990
|
|
777
991
|
<dt>channel...</dt>
|
778
992
|
|
@@ -788,7 +1002,7 @@ img.quantum_operator(DivideQuantumOperator, 2, RedChannel)
|
|
788
1002
|
|
789
1003
|
<h4>Example</h4>
|
790
1004
|
<pre>
|
791
|
-
geom = Geometry.new(
|
1005
|
+
geom = Geometry.new(QuantumRange/2)
|
792
1006
|
random_threshold_channel(geom, RedChannel)
|
793
1007
|
</pre>
|
794
1008
|
|
@@ -836,7 +1050,7 @@ random_threshold_channel(geom, RedChannel)
|
|
836
1050
|
|
837
1051
|
<h4>Magick API</h4>
|
838
1052
|
|
839
|
-
<p>RecolorImage
|
1053
|
+
<p>RecolorImage</p>
|
840
1054
|
</div>
|
841
1055
|
|
842
1056
|
<div class="sig">
|
@@ -870,7 +1084,7 @@ random_threshold_channel(geom, RedChannel)
|
|
870
1084
|
<h4>Example</h4>
|
871
1085
|
|
872
1086
|
<p>The left side of the image has been modified by <a href=
|
873
|
-
"#add_noise"><code>add_noise</code></a>. The right side
|
1087
|
+
"#Image.add_noise"><code>add_noise</code></a>. The right side
|
874
1088
|
has been filtered by <code>reduce_noise(0)</code>.</p>
|
875
1089
|
|
876
1090
|
<p><a href="javascript:popup('reduce_noise.rb.html')"><img src=
|
@@ -967,10 +1181,10 @@ random_threshold_channel(geom, RedChannel)
|
|
967
1181
|
|
968
1182
|
<dt>filter</dt>
|
969
1183
|
|
970
|
-
<dd>The <a href="constants.html#FilterTypes">filter</a> to
|
971
|
-
when resizing. If you do not specify a filter argument,
|
1184
|
+
<dd>The <a href="constants.html#FilterTypes">filter</a> to
|
1185
|
+
use when resizing. If you do not specify a filter argument,
|
972
1186
|
resize uses the value of the receiver's <a href=
|
973
|
-
"imageattrs.html#filter">filter attribute</a>.
|
1187
|
+
"imageattrs.html#Image.filter">filter attribute</a>.
|
974
1188
|
<span class="imquote">Most of the filters are FIR (finite
|
975
1189
|
impulse response), however, Bessel, Gaussian, and Sinc are
|
976
1190
|
IIR (infinite impulse response). Bessel and Sinc are windowed
|
@@ -981,7 +1195,7 @@ random_threshold_channel(geom, RedChannel)
|
|
981
1195
|
<dd>Values > 1 increase the blurriness. Values < 1
|
982
1196
|
increase the sharpness. If this argument is not specified,
|
983
1197
|
<code>resize</code> uses the value of the receiver's <a href=
|
984
|
-
"imageattrs.html#blur">blur</a> attribute.</dd>
|
1198
|
+
"imageattrs.html#Image.blur">blur</a> attribute.</dd>
|
985
1199
|
|
986
1200
|
<dt>scale_factor</dt>
|
987
1201
|
|
@@ -1182,15 +1396,14 @@ random_threshold_channel(geom, RedChannel)
|
|
1182
1396
|
id="notrotated" onmouseout=
|
1183
1397
|
"this.style.display='none'; rotated.style.display='';" src=
|
1184
1398
|
"ex/images/Flower_Hat.jpg" alt="rotate example" title=
|
1185
|
-
"Click to see the example script"
|
1399
|
+
"Click to see the example script" /><!--
|
1186
1400
|
This img tag displays the rotated image.
|
1187
1401
|
--><img class="hide"
|
1188
1402
|
id="rotated" onmouseover=
|
1189
1403
|
"this.style.display='none'; notrotated.style.display='';" src=
|
1190
|
-
"ex/rotate_f.jpg" alt="rotate example" /></a>
|
1191
|
-
|
1192
|
-
"
|
1193
|
-
"Mouse over the example to see the original image" /></p>
|
1404
|
+
"ex/rotate_f.jpg" alt="rotate example" /></a> <img src=
|
1405
|
+
"ex/images/spin.gif" alt="" class="spin" style="left:322px;"
|
1406
|
+
title="Mouse over the example to see the original image" /></p>
|
1194
1407
|
|
1195
1408
|
<h4>See also</h4>
|
1196
1409
|
|
@@ -1431,11 +1644,49 @@ random_threshold_channel(geom, RedChannel)
|
|
1431
1644
|
<p>SegmentImage</p>
|
1432
1645
|
</div>
|
1433
1646
|
|
1647
|
+
<div class="sig">
|
1648
|
+
<h3 id="separate">separate</h3>
|
1649
|
+
|
1650
|
+
<p><span class="arg">Image</span>.separate(<span class=
|
1651
|
+
"arg">channel</span>...) -> <span class=
|
1652
|
+
"arg">anImageList</span></p>
|
1653
|
+
</div>
|
1654
|
+
|
1655
|
+
<div class="desc">
|
1656
|
+
<h4>Description</h4>
|
1657
|
+
|
1658
|
+
<p>Constructs a grayscale image for each channel specified.</p>
|
1659
|
+
|
1660
|
+
<h4>Arguments</h4>
|
1661
|
+
|
1662
|
+
<p>0 or more <a href=
|
1663
|
+
"constants.html#ChannelType">ChannelType</a> arguments. If no
|
1664
|
+
channels are specified, constructs an image for each of the
|
1665
|
+
red, green, and blue channels.</p>
|
1666
|
+
|
1667
|
+
<h4>Returns</h4>
|
1668
|
+
|
1669
|
+
<p>A new imagelist containing the new images.</p>
|
1670
|
+
|
1671
|
+
<h4>See also</h4>
|
1672
|
+
|
1673
|
+
<p><a href="image1.html#channel">channel</a></p>
|
1674
|
+
|
1675
|
+
<h4>Notes</h4>
|
1676
|
+
|
1677
|
+
<p>If the image does not have an opacity channel an
|
1678
|
+
OpacityChannel argument is ignored.</p>
|
1679
|
+
|
1680
|
+
<h4>Magick API</h4>
|
1681
|
+
|
1682
|
+
<p>SeparateImages</p>
|
1683
|
+
</div>
|
1684
|
+
|
1434
1685
|
<div class="sig">
|
1435
1686
|
<h3 id="sepiatone">sepiatone</h3>
|
1436
1687
|
|
1437
1688
|
<p><span class="arg">image</span>.sepiatone(<span class=
|
1438
|
-
"arg">threshold</span>=
|
1689
|
+
"arg">threshold</span>=QuantumRange) -> <span class=
|
1439
1690
|
"arg">anImage</span></p>
|
1440
1691
|
</div>
|
1441
1692
|
|
@@ -1452,9 +1703,9 @@ random_threshold_channel(geom, RedChannel)
|
|
1452
1703
|
<dt>threshold</dt>
|
1453
1704
|
|
1454
1705
|
<dd class="imquote"><span class="arg">Threshold</span> ranges
|
1455
|
-
from 0 to
|
1456
|
-
|
1457
|
-
|
1706
|
+
from 0 to QuantumRange and is a measure of the extent of the
|
1707
|
+
sepia toning. A threshold of 80% is a good starting point for
|
1708
|
+
a reasonable tone. The default is QuantumRange.</dd>
|
1458
1709
|
</dl>
|
1459
1710
|
|
1460
1711
|
<h4>Returns</h4>
|
@@ -1479,7 +1730,7 @@ random_threshold_channel(geom, RedChannel)
|
|
1479
1730
|
|
1480
1731
|
<h4>Magick API</h4>
|
1481
1732
|
|
1482
|
-
<p>SepiaToneImage
|
1733
|
+
<p>SepiaToneImage</p>
|
1483
1734
|
</div>
|
1484
1735
|
|
1485
1736
|
<div class="sig">
|
@@ -1634,19 +1885,18 @@ random_threshold_channel(geom, RedChannel)
|
|
1634
1885
|
onmouseout=
|
1635
1886
|
"this.style.display='none';shadowed.style.display='';" src=
|
1636
1887
|
"ex/shadow_before.gif" alt="shadow example" title=
|
1637
|
-
"Click to see the example script"
|
1888
|
+
"Click to see the example script" /><!--
|
1638
1889
|
This img tag displays the shadowed image when the mouse is not over
|
1639
1890
|
--><img class="hide"
|
1640
1891
|
id="shadowed" onmouseover=
|
1641
1892
|
"this.style.display='none';shadowless.style.display='';" src=
|
1642
|
-
"ex/shadow_after.gif" alt="shadow example"
|
1643
|
-
|
1644
|
-
"margin-bottom: 120px" title=
|
1893
|
+
"ex/shadow_after.gif" alt="shadow example" /></a> <img src=
|
1894
|
+
"ex/images/spin.gif" alt="" style="margin-bottom: 120px" title=
|
1645
1895
|
"Mouse over the example to see the original image" /></p>
|
1646
1896
|
|
1647
1897
|
<h4>Magick API</h4>
|
1648
1898
|
|
1649
|
-
<p>ShadowImage
|
1899
|
+
<p>ShadowImage</p>
|
1650
1900
|
|
1651
1901
|
<h4>Notes</h4>
|
1652
1902
|
|
@@ -1738,7 +1988,7 @@ random_threshold_channel(geom, RedChannel)
|
|
1738
1988
|
|
1739
1989
|
<h4>Magick API</h4>
|
1740
1990
|
|
1741
|
-
<p>SharpenImageChannel
|
1991
|
+
<p>SharpenImageChannel</p>
|
1742
1992
|
</div>
|
1743
1993
|
|
1744
1994
|
<div class="sig">
|
@@ -1852,14 +2102,14 @@ random_threshold_channel(geom, RedChannel)
|
|
1852
2102
|
id="noshear" onmouseout=
|
1853
2103
|
"this.style.display='none'; sheared.style.display='';" src=
|
1854
2104
|
"ex/images/Flower_Hat.jpg" alt="shear example" title=
|
1855
|
-
"Click to see the example script"
|
2105
|
+
"Click to see the example script" /> <!--
|
1856
2106
|
This img tag displays the sheared image when the mouse is not over
|
1857
2107
|
-->
|
1858
2108
|
<img id="sheared" onmouseover=
|
1859
2109
|
"this.style.display='none'; noshear.style.display='';" src=
|
1860
|
-
"ex/shear.jpg" alt="shear example"
|
1861
|
-
|
1862
|
-
"
|
2110
|
+
"ex/shear.jpg" alt="shear example" /></a><img src=
|
2111
|
+
"ex/images/spin.gif" alt="" class="spin" style=
|
2112
|
+
"left: 253px; top: 34px" title=
|
1863
2113
|
"Mouse over the example to see the original image" /></p>
|
1864
2114
|
|
1865
2115
|
<h4>See also</h4>
|
@@ -1930,8 +2180,7 @@ random_threshold_channel(geom, RedChannel)
|
|
1930
2180
|
|
1931
2181
|
<h4>Magick API</h4>
|
1932
2182
|
|
1933
|
-
<p>SigmoidalContrastImageChannel
|
1934
|
-
6.2.1)</p>
|
2183
|
+
<p>SigmoidalContrastImageChannel</p>
|
1935
2184
|
</div>
|
1936
2185
|
|
1937
2186
|
<div class="sig">
|
@@ -1950,7 +2199,7 @@ random_threshold_channel(geom, RedChannel)
|
|
1950
2199
|
and is convenient for determining if an image has been modified
|
1951
2200
|
or whether two images are identical.</p>
|
1952
2201
|
|
1953
|
-
<p
|
2202
|
+
<p>ImageMagick adds the computed signature to the image's
|
1954
2203
|
properties.</p>
|
1955
2204
|
|
1956
2205
|
<h4>Returns</h4>
|
@@ -2022,7 +2271,7 @@ img.properties »
|
|
2022
2271
|
|
2023
2272
|
<h4>Magick API</h4>
|
2024
2273
|
|
2025
|
-
<p>SketchImage
|
2274
|
+
<p>SketchImage</p>
|
2026
2275
|
</div>
|
2027
2276
|
|
2028
2277
|
<div class="sig">
|
@@ -2042,7 +2291,7 @@ img.properties »
|
|
2042
2291
|
|
2043
2292
|
<h4>Arguments</h4>
|
2044
2293
|
|
2045
|
-
<p><span class="imquote">Ranges from 0 to
|
2294
|
+
<p><span class="imquote">Ranges from 0 to QuantumRange and is a
|
2046
2295
|
measure of the extent of the solarization.</span> The default
|
2047
2296
|
is 50.</p>
|
2048
2297
|
|
@@ -2117,9 +2366,8 @@ img.properties »
|
|
2117
2366
|
--><img class="hide"
|
2118
2367
|
id="spliced" onmouseover=
|
2119
2368
|
"this.style.display='none';nosplice.style.display='';" src=
|
2120
|
-
"ex/splice.jpg" alt="splice example" /></a>
|
2121
|
-
|
2122
|
-
"margin-bottom: 280px" title=
|
2369
|
+
"ex/splice.jpg" alt="splice example" /></a> <img src=
|
2370
|
+
"ex/images/spin.gif" alt="" style="margin-bottom: 280px" title=
|
2123
2371
|
"Mouse over the example to see the original image" /></p>
|
2124
2372
|
|
2125
2373
|
<h4>See also</h4>
|
@@ -2169,81 +2417,6 @@ img.properties »
|
|
2169
2417
|
<p>SpreadImage</p>
|
2170
2418
|
</div>
|
2171
2419
|
|
2172
|
-
<div class="sig">
|
2173
|
-
<h3 id="statistics">statistics</h3>
|
2174
|
-
|
2175
|
-
<p><span class="arg">image</span>.statistics -> <em>see
|
2176
|
-
below</em></p>
|
2177
|
-
</div>
|
2178
|
-
|
2179
|
-
<div class="desc">
|
2180
|
-
<h4>Description</h4>
|
2181
|
-
|
2182
|
-
<p>Computes the minimum, maximum, mean, standard deviation, and
|
2183
|
-
variance for each channel in the image.</p>
|
2184
|
-
|
2185
|
-
<h4>Returns</h4>
|
2186
|
-
|
2187
|
-
<p>The statistics method returns a <code>Statistics</code>
|
2188
|
-
class object. This class defines four <em>channel</em>
|
2189
|
-
attributes: <code>red</code>, <code>green</code>,
|
2190
|
-
<code>blue</code>, and <code>opacity</code>. Each channel
|
2191
|
-
attribute is a <code>Statistics::Channel</code> class object.
|
2192
|
-
This class defines 5 <em>statistic</em> attributes:
|
2193
|
-
<code>min</code>, <code>max</code>, <code>mean</code>
|
2194
|
-
<code>stddev</code>, and <code>var</code>. See the example
|
2195
|
-
below.</p>
|
2196
|
-
|
2197
|
-
<h4>Example</h4>
|
2198
|
-
<pre>
|
2199
|
-
require 'pp'
|
2200
|
-
|
2201
|
-
img = Image.read("Flower_Hat.jpg").first
|
2202
|
-
stats = img.statistics
|
2203
|
-
|
2204
|
-
pp stats »
|
2205
|
-
#<Magick::Statistics
|
2206
|
-
red=
|
2207
|
-
#<Magick::Statistics::Channel
|
2208
|
-
max=1.0,
|
2209
|
-
min=0.0,
|
2210
|
-
mean=0.627182352941187,
|
2211
|
-
stddev=0.231399683489667,
|
2212
|
-
var=0.0535458135191179>,
|
2213
|
-
green=
|
2214
|
-
#<Magick::Statistics::Channel
|
2215
|
-
max=1.0,
|
2216
|
-
min=0.0,
|
2217
|
-
mean=0.571999607843132,
|
2218
|
-
stddev=0.22246563644744,
|
2219
|
-
var=0.0494909593999647>,
|
2220
|
-
blue=
|
2221
|
-
#<Magick::Statistics::Channel
|
2222
|
-
max=1.0,
|
2223
|
-
min=0.0,
|
2224
|
-
mean=0.508869725490209,
|
2225
|
-
stddev=0.269422111063184,
|
2226
|
-
var=0.0725882739297426>,
|
2227
|
-
opacity=
|
2228
|
-
#<Magick::Statistics::Channel
|
2229
|
-
max=0.0,
|
2230
|
-
min=0.0,
|
2231
|
-
mean=0.0,
|
2232
|
-
stddev=0.0,
|
2233
|
-
var=0.0>>
|
2234
|
-
|
2235
|
-
p stats.red.stddev » 0.231399683489667
|
2236
|
-
</pre>
|
2237
|
-
|
2238
|
-
<h4>See also</h4>
|
2239
|
-
|
2240
|
-
<p><a href="image1.html#channel_extrema">channel_extrema</a>,
|
2241
|
-
<a href="image1.html#channel_mean">channel_mean</a></p>
|
2242
|
-
|
2243
|
-
<h4>Magick API</h4>GetImageStatistics (available in
|
2244
|
-
GraphicsMagick 1.1)
|
2245
|
-
</div>
|
2246
|
-
|
2247
2420
|
<div class="sig">
|
2248
2421
|
<h3 id="stegano">stegano</h3>
|
2249
2422
|
|
@@ -2409,8 +2582,9 @@ p stats.red.stddev » 0.231399683489667
|
|
2409
2582
|
|
2410
2583
|
<p>self</p>
|
2411
2584
|
|
2412
|
-
<h4>Magick API</h4>
|
2413
|
-
|
2585
|
+
<h4>Magick API</h4>
|
2586
|
+
|
2587
|
+
<p>StripImage</p>
|
2414
2588
|
</div>
|
2415
2589
|
|
2416
2590
|
<div class="sig">
|
@@ -2455,6 +2629,34 @@ p stats.red.stddev » 0.231399683489667
|
|
2455
2629
|
<p>SwirlImage</p>
|
2456
2630
|
</div>
|
2457
2631
|
|
2632
|
+
<div class="sig">
|
2633
|
+
<h3 id="sync_profiles">sync_profiles</h3>
|
2634
|
+
|
2635
|
+
<p><span class="arg">image</span>.sync_profiles ->
|
2636
|
+
<code>true</code> or <code>false</code></p>
|
2637
|
+
</div>
|
2638
|
+
|
2639
|
+
<div class="desc">
|
2640
|
+
<h4>Description</h4>
|
2641
|
+
|
2642
|
+
<p class="imquote">Synchronizes image properties with the image
|
2643
|
+
profiles.</p>
|
2644
|
+
|
2645
|
+
<h4>Returns</h4>
|
2646
|
+
|
2647
|
+
<p><code>True</code> if everything went okay,
|
2648
|
+
<code>false</code> if there was a problem with the profile.</p>
|
2649
|
+
|
2650
|
+
<h4>Notes</h4>
|
2651
|
+
|
2652
|
+
<p class="imquote">Currently we only support updating the EXIF
|
2653
|
+
resolution and orientation.</p>
|
2654
|
+
|
2655
|
+
<h4>Magick API</h4>
|
2656
|
+
|
2657
|
+
<p>SyncImageProfiles</p>
|
2658
|
+
</div>
|
2659
|
+
|
2458
2660
|
<div class="sig">
|
2459
2661
|
<h3 id="texture_fill_to_border">texture_fill_to_border</h3>
|
2460
2662
|
|
@@ -2540,8 +2742,8 @@ p stats.red.stddev » 0.231399683489667
|
|
2540
2742
|
color with the <span class="arg">texture</span> image. By
|
2541
2743
|
default, the neighbor pixels must be exactly the same color as
|
2542
2744
|
the target pixel. Use the <a href=
|
2543
|
-
"imageattrs.html#fuzz">fuzz</a> attribute to specify how
|
2544
|
-
|
2745
|
+
"imageattrs.html#fuzz">fuzz</a> attribute to specify how much
|
2746
|
+
difference is acceptable.</p>
|
2545
2747
|
|
2546
2748
|
<h4>Arguments</h4>
|
2547
2749
|
|
@@ -2607,7 +2809,7 @@ p stats.red.stddev » 0.231399683489667
|
|
2607
2809
|
|
2608
2810
|
<h4>Arguments</h4>
|
2609
2811
|
|
2610
|
-
<p>A value between 0 and
|
2812
|
+
<p>A value between 0 and QuantumRange.</p>
|
2611
2813
|
|
2612
2814
|
<h4>Returns</h4>
|
2613
2815
|
|
@@ -2735,7 +2937,7 @@ thumbnail = img.thumbnail(img.columns*0.09, img.rows*0.09)
|
|
2735
2937
|
<p>No required arguments, however you can specify the image
|
2736
2938
|
format (such as JPEG, PNG, etc.) and depth by calling the
|
2737
2939
|
<a href="imageattrs.html#format">format</a> and <a href=
|
2738
|
-
"imageattrs.html#depth">depth</a> attributes, as well as
|
2940
|
+
"imageattrs.html#Image.depth">depth</a> attributes, as well as
|
2739
2941
|
other <a href="info.html">Image::Info</a> attributes as
|
2740
2942
|
appropriate, in a block associated with the method.</p>
|
2741
2943
|
|
@@ -2771,8 +2973,8 @@ thumbnail = img.thumbnail(img.columns*0.09, img.rows*0.09)
|
|
2771
2973
|
|
2772
2974
|
<p>Returns the color name for a pixel. Unlike the
|
2773
2975
|
<code>Pixel#to_color</code> method, to_color uses the <a href=
|
2774
|
-
"imageattrs.html#depth">depth</a> and <a href=
|
2775
|
-
"imageattrs.html#matte">matte</a> attributes of the image
|
2976
|
+
"imageattrs.html#Image.depth">depth</a> and <a href=
|
2977
|
+
"imageattrs.html#Image.matte">matte</a> attributes of the image
|
2776
2978
|
to determine the color name.</p>
|
2777
2979
|
|
2778
2980
|
<h4>Arguments</h4>
|
@@ -2795,7 +2997,7 @@ img.to_color(pixel)
|
|
2795
2997
|
|
2796
2998
|
<h4>See also</h4>
|
2797
2999
|
|
2798
|
-
<p><a href="struct.html#
|
3000
|
+
<p><a href="struct.html#Pixel">Pixel#to_color</a></p>
|
2799
3001
|
|
2800
3002
|
<h4>Magick API</h4>
|
2801
3003
|
|
@@ -2817,9 +3019,9 @@ img.to_color(pixel)
|
|
2817
3019
|
<p>Changes the opacity value of all the pixels that match
|
2818
3020
|
<span class="arg">color</span> to the value specified by
|
2819
3021
|
<span class="arg">opacity</span>. By default the pixel must
|
2820
|
-
match exactly, but you can specify a
|
2821
|
-
the <a href="imageattrs.html#fuzz">fuzz</a> attribute on
|
2822
|
-
|
3022
|
+
match exactly, but you can specify a tolerence level by setting
|
3023
|
+
the <a href="imageattrs.html#fuzz">fuzz</a> attribute on the
|
3024
|
+
image.</p>
|
2823
3025
|
|
2824
3026
|
<h4>Arguments</h4>
|
2825
3027
|
|
@@ -2833,7 +3035,8 @@ img.to_color(pixel)
|
|
2833
3035
|
|
2834
3036
|
<dd>The new opacity value, either an <a href=
|
2835
3037
|
"constants.html#Opacity">opacity</a> value or a number
|
2836
|
-
between 0 and
|
3038
|
+
between 0 and QuantumRange. The default is
|
3039
|
+
TransparentOpacity.</dd>
|
2837
3040
|
</dl>
|
2838
3041
|
|
2839
3042
|
<h4>Returns</h4>
|
@@ -2900,13 +3103,13 @@ img.to_color(pixel)
|
|
2900
3103
|
|
2901
3104
|
<p><a href="image2.html#flip">flip</a>, <a href=
|
2902
3105
|
"image2.html#flop">flop</a>, <a href=
|
2903
|
-
"#rotate">rotate</a>, <a href=
|
3106
|
+
"image3.html#rotate">rotate</a>, <a href=
|
2904
3107
|
"#transpose_bang">transpose!</a>, <a href=
|
2905
|
-
"#transverse">transverse</a></p>
|
3108
|
+
"image3.html#transverse">transverse</a></p>
|
2906
3109
|
|
2907
3110
|
<h4>Magick API</h4>
|
2908
3111
|
|
2909
|
-
<p>TransposeImage
|
3112
|
+
<p>TransposeImage</p>
|
2910
3113
|
</div>
|
2911
3114
|
|
2912
3115
|
<div class="sig">
|
@@ -2959,13 +3162,13 @@ img.to_color(pixel)
|
|
2959
3162
|
|
2960
3163
|
<p><a href="image2.html#flip">flip</a>, <a href=
|
2961
3164
|
"image2.html#flop">flop</a>, <a href=
|
2962
|
-
"#rotate">rotate</a>, <a href=
|
2963
|
-
"#transpose">transpose</a>, <a href=
|
3165
|
+
"image3.html#rotate">rotate</a>, <a href=
|
3166
|
+
"image3.html#transpose">transpose</a>, <a href=
|
2964
3167
|
"#transverse_bang">transverse!</a></p>
|
2965
3168
|
|
2966
3169
|
<h4>Magick API</h4>
|
2967
3170
|
|
2968
|
-
<p>TransposeImage
|
3171
|
+
<p>TransposeImage</p>
|
2969
3172
|
</div>
|
2970
3173
|
|
2971
3174
|
<div class="sig">
|
@@ -2988,8 +3191,8 @@ img.to_color(pixel)
|
|
2988
3191
|
<div class="sig">
|
2989
3192
|
<h3 id="trim">trim</h3>
|
2990
3193
|
|
2991
|
-
<p><span class="arg">image</span>.trim
|
2992
|
-
<em>anImage</em></p>
|
3194
|
+
<p><span class="arg">image</span>.trim(<span class=
|
3195
|
+
"arg">reset</span>=false) -> <em>anImage</em></p>
|
2993
3196
|
</div>
|
2994
3197
|
|
2995
3198
|
<div class="desc">
|
@@ -3001,6 +3204,16 @@ img.to_color(pixel)
|
|
3001
3204
|
<code>trim</code> remove edges that are nearly the same color
|
3002
3205
|
as the corner pixels.</p>
|
3003
3206
|
|
3207
|
+
<h4>Arguments</h4>
|
3208
|
+
|
3209
|
+
<p>The trim method retains the offset information in the
|
3210
|
+
cropped image. This may cause the image to appear to be
|
3211
|
+
surrounded by blank or black space when viewed with an external
|
3212
|
+
viewer. This only occurs when the image is saved in a format
|
3213
|
+
(such as GIF) that saves offset information. To reset the
|
3214
|
+
offset data, use true as the argument to trim. See also
|
3215
|
+
<a href="image1.html#crop">crop</a>.</p>
|
3216
|
+
|
3004
3217
|
<h4>Returns</h4>
|
3005
3218
|
|
3006
3219
|
<p>A new image</p>
|
@@ -3015,6 +3228,10 @@ img.to_color(pixel)
|
|
3015
3228
|
"ex/images/spin.gif" alt="" class="spin" title=
|
3016
3229
|
"Mouse over the image to see the original image" /></p>
|
3017
3230
|
|
3231
|
+
<h4>See also</h4>
|
3232
|
+
|
3233
|
+
<p><a href="image1.html#crop">crop</a></p>
|
3234
|
+
|
3018
3235
|
<h4>Magick API</h4>
|
3019
3236
|
|
3020
3237
|
<p>CropImage</p>
|
@@ -3023,7 +3240,8 @@ img.to_color(pixel)
|
|
3023
3240
|
<div class="sig">
|
3024
3241
|
<h3 id="trim_bang">trim!</h3>
|
3025
3242
|
|
3026
|
-
<p><span class="arg">image</span>.trim!
|
3243
|
+
<p><span class="arg">image</span>.trim!(<span class=
|
3244
|
+
"arg">reset</span>=false) -> <em>self</em></p>
|
3027
3245
|
</div>
|
3028
3246
|
|
3029
3247
|
<div class="desc">
|
@@ -3054,7 +3272,7 @@ img.to_color(pixel)
|
|
3054
3272
|
|
3055
3273
|
<h4>Magick API</h4>
|
3056
3274
|
|
3057
|
-
<p>UniqueImageColors
|
3275
|
+
<p>UniqueImageColors</p>
|
3058
3276
|
</div>
|
3059
3277
|
|
3060
3278
|
<div class="sig">
|
@@ -3121,7 +3339,7 @@ img.to_color(pixel)
|
|
3121
3339
|
|
3122
3340
|
<p><a href="image2.html#enhance">enhance</a>, <a href=
|
3123
3341
|
"image2.html#median_filter">median_filter</a>, <a href=
|
3124
|
-
"#reduce_noise">reduce_noise</a>, <a href=
|
3342
|
+
"image3.html#reduce_noise">reduce_noise</a>, <a href=
|
3125
3343
|
"#unsharp_mask_channel">unsharp_mask_channel</a></p>
|
3126
3344
|
|
3127
3345
|
<h4>Magick API</h4>
|
@@ -3198,12 +3416,12 @@ img.to_color(pixel)
|
|
3198
3416
|
|
3199
3417
|
<p><a href="image2.html#enhance">enhance</a>, <a href=
|
3200
3418
|
"image2.html#median_filter">median_filter</a>, <a href=
|
3201
|
-
"#reduce_noise">reduce_noise</a>, <a href=
|
3419
|
+
"image3.html#reduce_noise">reduce_noise</a>, <a href=
|
3202
3420
|
"#unsharp_mask">unsharp_mask</a></p>
|
3203
3421
|
|
3204
3422
|
<h4>Magick API</h4>
|
3205
3423
|
|
3206
|
-
<p>UnsharpMaskImageChannel
|
3424
|
+
<p>UnsharpMaskImageChannel</p>
|
3207
3425
|
</div>
|
3208
3426
|
|
3209
3427
|
<div class="sig">
|
@@ -3273,7 +3491,7 @@ img = Image.new(40, 40) {self.background_color = 'lightcyan2'}
|
|
3273
3491
|
img.view( 10, 5, 20, 20) do |view|
|
3274
3492
|
|
3275
3493
|
# Set all the pixels in the view to green.
|
3276
|
-
view[][] = Pixel.new(0,
|
3494
|
+
view[][] = Pixel.new(0, QuantumRange)
|
3277
3495
|
|
3278
3496
|
# Change the top and bottom rows to red.
|
3279
3497
|
view[0][] = 'red'
|
@@ -3287,17 +3505,17 @@ img.view( 10, 5, 20, 20) do |view|
|
|
3287
3505
|
|
3288
3506
|
# Change the green channel of all the
|
3289
3507
|
# pixels on row 8.
|
3290
|
-
view[8][].green =
|
3508
|
+
view[8][].green = QuantumRange/2
|
3291
3509
|
|
3292
3510
|
# Change the blue channel of 8 pixels
|
3293
3511
|
# on column 10.
|
3294
|
-
view[4,8][10].blue =
|
3512
|
+
view[4,8][10].blue = QuantumRange
|
3295
3513
|
end
|
3296
3514
|
</pre>
|
3297
3515
|
|
3298
3516
|
<h4>See also</h4>
|
3299
3517
|
|
3300
|
-
<p><a href="
|
3518
|
+
<p><a href="image3.html#pixel_color">pixel_color</a>, <a href=
|
3301
3519
|
"image2.html#get_pixels">get_pixels</a>, <a href=
|
3302
3520
|
"#store_pixels">store_pixels</a></p>
|
3303
3521
|
|
@@ -3305,7 +3523,7 @@ end
|
|
3305
3523
|
|
3306
3524
|
<p>The <code>view</code> method introduces a relatively high
|
3307
3525
|
level of overhead to pixel manipulation compared to methods
|
3308
|
-
that use the
|
3526
|
+
that use the ImageMagick API to identify and change pixels. I
|
3309
3527
|
recommend that you use <code>view</code> only when the number
|
3310
3528
|
of pixels identified in the view is fairly small (a few
|
3311
3529
|
thousand to a few hundred thousand, depending on your patience
|
@@ -3356,7 +3574,7 @@ end
|
|
3356
3574
|
expense of increased execution time. In general, <span class=
|
3357
3575
|
"arg">radius</span> should be larger than <span class=
|
3358
3576
|
"arg">sigma</span>, although if <span class=
|
3359
|
-
"arg">radius</span> is 0 then
|
3577
|
+
"arg">radius</span> is 0 then ImageMagick will choose a
|
3360
3578
|
suitable value. <span class="arg">Sigma</span> must be
|
3361
3579
|
non-zero. Choose a very small value for <span class=
|
3362
3580
|
"arg">sigma</span> to produce a "hard" edge.</dd>
|
@@ -3379,7 +3597,7 @@ end
|
|
3379
3597
|
|
3380
3598
|
<h4>Magick API</h4>
|
3381
3599
|
|
3382
|
-
<p>VignetteImage
|
3600
|
+
<p>VignetteImage</p>
|
3383
3601
|
|
3384
3602
|
<h4>Notes</h4>
|
3385
3603
|
|
@@ -3507,8 +3725,17 @@ end
|
|
3507
3725
|
present and the <span class="arg">x-offset</span> (and
|
3508
3726
|
optionally the <span class="arg">y-offset</span>) is present,
|
3509
3727
|
the <span class="arg">x-</span> and <span class=
|
3510
|
-
"arg">y-offset</span> are measured
|
3511
|
-
|
3728
|
+
"arg">y-offset</span> are measured from the right and/or bottom
|
3729
|
+
edges of the target image based on the value of <span class=
|
3730
|
+
"arg">gravity</span>. If the argument is NorthEastGravity,
|
3731
|
+
EastGravity, or SouthEastGravity, the <span class=
|
3732
|
+
"arg">x-offset</span> is measured from the right side of the
|
3733
|
+
image. If the argument is SouthEastGravity, SouthGravity, or
|
3734
|
+
SouthWestGravity, the <span class="arg">y-offset</span> is
|
3735
|
+
measured from the bottom of the image. All other values are
|
3736
|
+
ignored and the <span class="arg">x-</span> and <span class=
|
3737
|
+
"arg">y-offset</span> are measured from the upper-left corner
|
3738
|
+
of the image.</p>
|
3512
3739
|
|
3513
3740
|
<h4>Returns</h4>
|
3514
3741
|
|
@@ -3566,8 +3793,7 @@ end
|
|
3566
3793
|
"padding-top:25px; padding-bottom:25px; display:none" id=
|
3567
3794
|
"nowave" title="Click to see the example script" onmouseout=
|
3568
3795
|
"this.style.display='none'; waved.style.display='';" src=
|
3569
|
-
"ex/images/Flower_Hat.jpg" alt="wave example" />
|
3570
|
-
<!--
|
3796
|
+
"ex/images/Flower_Hat.jpg" alt="wave example" /> <!--
|
3571
3797
|
This img tag displays the framed image when the mouse is not over
|
3572
3798
|
--><img class="hide"
|
3573
3799
|
id="waved" onmouseover=
|
@@ -3590,7 +3816,7 @@ end
|
|
3590
3816
|
<h3 id="wet_floor">wet_floor</h3>
|
3591
3817
|
|
3592
3818
|
<p><span class="arg">image</span>.wet_floor(<span class=
|
3593
|
-
"arg">
|
3819
|
+
"arg">intial=0.5</span>, <span class="arg">rate=1.0</span>)
|
3594
3820
|
-> <em>anImage</em></p>
|
3595
3821
|
</div>
|
3596
3822
|
|
@@ -3671,9 +3897,9 @@ end
|
|
3671
3897
|
|
3672
3898
|
<h4>Arguments</h4>
|
3673
3899
|
|
3674
|
-
<p>Each channel argument is a number between 0 and
|
3675
|
-
arguments except the first may be omitted. If
|
3676
|
-
"arg">green_channel</span> or <span class=
|
3900
|
+
<p>Each channel argument is a number between 0 and
|
3901
|
+
QuantumRange. All arguments except the first may be omitted. If
|
3902
|
+
the <span class="arg">green_channel</span> or <span class=
|
3677
3903
|
"arg">blue_channel</span> argument is omitted, the default
|
3678
3904
|
value is the <span class="arg">red_channel</span> value. If the
|
3679
3905
|
<span class="arg">opacity_channel</span> argument is omitted,
|
@@ -3708,14 +3934,14 @@ end
|
|
3708
3934
|
<div class="desc">
|
3709
3935
|
<h4>Description</h4>
|
3710
3936
|
|
3711
|
-
<p>Writes the image to the specified file.
|
3937
|
+
<p>Writes the image to the specified file. ImageMagick
|
3712
3938
|
determines image format from the <a href=
|
3713
3939
|
"imusage.html#formats">prefix or extension</a>.</p>
|
3714
3940
|
|
3715
|
-
<p>If the argument is an open file,
|
3716
|
-
|
3717
|
-
|
3718
|
-
"imageattrs.html#format">format</a> attribute.</p>
|
3941
|
+
<p>If the argument is an open file, ImageMagick will write the
|
3942
|
+
image in its current format. You can force a different format
|
3943
|
+
by setting the image's <a href=
|
3944
|
+
"imageattrs.html#Image.format">format</a> attribute.</p>
|
3719
3945
|
|
3720
3946
|
<h4>Arguments</h4>
|
3721
3947
|
|