rmagick 1.12.0 → 1.13.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.

@@ -1,7 +1,7 @@
1
1
 
2
2
  # RMagick configure.ac
3
3
 
4
- AC_INIT(RMagick, 1.12.0, rmagick@rubyforge.org, RMagick-1.12.0.tar.gz)
4
+ AC_INIT(RMagick, 1.13.0, rmagick@rubyforge.org, RMagick-1.13.0.tar.gz)
5
5
  echo "Configuring ${PACKAGE_STRING}"
6
6
 
7
7
  AC_CONFIG_HEADER([ext/RMagick/rmagick_config.h])
@@ -98,10 +98,12 @@ if test "$rm_have_acquirestringinfo" = yes; then
98
98
  AC_DEFINE(HAVE_ACQUIRESTRINGINFO)
99
99
  fi
100
100
 
101
- AC_CHECK_FUNCS([AdaptiveThresholdImage AddDefinitions AddNoiseImageChannel BilevelImageChannel])
102
- AC_CHECK_FUNCS([BlackThresholdImage BlurImageChannel ClearMagickException CompareImageChannels])
103
- AC_CHECK_FUNCS([CompareImageLayers ContrastStretchImageChannel ConvolveImageChannel EvaluateImageChannel])
104
- AC_CHECK_FUNCS([ExportImagePixels FuzzyColorCompare GammaImageChannel GaussianBlurImageChannel])
101
+ AC_CHECK_FUNCS([AdaptiveSharpenImage AdaptiveThresholdImage AddDefinitions])
102
+ AC_CHECK_FUNCS([AddNoiseImageChannel BilevelImageChannel BlackThresholdImage])
103
+ AC_CHECK_FUNCS([BlurImageChannel ClearMagickException CompareImageChannels])
104
+ AC_CHECK_FUNCS([CompareImageLayers CompositeImageChannel ContrastStretchImageChannel])
105
+ AC_CHECK_FUNCS([ConvolveImageChannel EvaluateImageChannel ExportImagePixels])
106
+ AC_CHECK_FUNCS([FuzzyColorCompare GammaImageChannel GaussianBlurImageChannel])
105
107
  AC_CHECK_FUNCS([GetColorHistogram GetColorInfoArray])
106
108
 
107
109
  # We need to be able to query these symbols later in the configure script, so set a shell
@@ -147,12 +149,14 @@ fi
147
149
  AC_CHECK_FUNCS([GetMagickResourceLimit GrayscalePseudoClassImage ImagesToBlob ImportImagePixels])
148
150
  AC_CHECK_FUNCS([InheritException InterpretImageAttributes IsColorSimilar NegateImageChannel])
149
151
  AC_CHECK_FUNCS([NormalizeImageChannel ParseSizeGeometry PosterizeImage PreviewImage])
150
- AC_CHECK_FUNCS([QuantumOperatorRegionImage RadialBlurImage RandomChannelThresholdImage])
152
+ AC_CHECK_FUNCS([QuantumOperatorRegionImage RadialBlurImage RadialBlurImageChannel])
153
+ AC_CHECK_FUNCS([RandomChannelThresholdImage])
151
154
  AC_CHECK_FUNCS([RandomThresholdImageChannel SeparateImageChannel SepiaToneImage])
152
- AC_CHECK_FUNCS([SetImageBackgroundColor SetImageChannelDepth SetImageColorspace SetImageOption])
155
+ AC_CHECK_FUNCS([SetImageBackgroundColor SetImageChannelDepth SetImageColorspace SetImageExtent])
156
+ AC_CHECK_FUNCS([SetImageInfoFile SetImageOption SetImageStorageClass])
153
157
  AC_CHECK_FUNCS([SetImageProgressMonitor ShadowImage SharpenImageChannel])
154
158
  AC_CHECK_FUNCS([SigmoidalContrastImageChannel SpliceImage StripImage])
155
- AC_CHECK_FUNCS([ThresholdImageChannel TintImage])
159
+ AC_CHECK_FUNCS([ThresholdImageChannel TintImage TransposeImage TransverseImage])
156
160
  AC_CHECK_FUNCS([UnsharpMaskImageChannel VignetteImage WhiteThresholdImage XImportImage])
157
161
 
158
162
  # What typedefs?
@@ -270,7 +270,7 @@ gc = Draw.new
270
270
  <h3 id="annotate">annotate</h3>
271
271
 
272
272
  <p><span class="arg">draw.</span>annotate(<span class=
273
- "arg">img, width, height, x, y, text</span>) <span class=
273
+ "arg">img, x_rotate, y_rotate, x, y, text</span>) <span class=
274
274
  "arg">[&nbsp;{ additional parameters }&nbsp;]</span> -&gt;
275
275
  <em>draw</em></p>
276
276
  </div>
@@ -279,15 +279,16 @@ gc = Draw.new
279
279
  <h4>Description</h4>
280
280
 
281
281
  <p>Annotates a image with text. The text is positioned
282
- according to the <code>gravity</code> attribute around the
283
- rectangle described by the x, y, width, and height arguments.
284
- If either of the width or height arguments are omitted, uses
285
- the image width - x and the image height - y to compute the
286
- rectangle width and height. The attributes described in
287
- <a href="#attributes">annotate attributes</a>, below, influence
288
- the appearance and position of the text. These attributes may
289
- be set in the Draw object before calling <code>annotate</code>,
290
- or within <code>annotate</code>'s optional <span class=
282
+ according to the <code>gravity</code> attribute, starting
283
+ <span class="arg">x</span> pixels from the left and with its
284
+ baseline at <span class="arg">y</span>. The <span class=
285
+ "arg">x_rotate</span> and <span class="arg">y_rotate</span>
286
+ arguments specify a rotation in degrees on the x-axis and
287
+ y-axis, respectively. The attributes described in <a href=
288
+ "#attributes">annotate attributes</a>, below, influence the
289
+ appearance and position of the text. These attributes may be
290
+ set in the Draw object before calling <code>annotate</code>, or
291
+ within <code>annotate</code>'s optional <span class=
291
292
  "arg">additional parameters</span> block.</p>
292
293
 
293
294
  <p><em>Note</em>: all of the <code>annotate</code> attributes
@@ -300,15 +301,13 @@ gc = Draw.new
300
301
 
301
302
  <dd>the image or imagelist to be annotated</dd>
302
303
 
303
- <dt>width</dt>
304
+ <dt>x-rotate</dt>
304
305
 
305
- <dd>width of the rectangle within which the text is
306
- positioned</dd>
306
+ <dd>rotation on the x-axis, in degrees</dd>
307
307
 
308
- <dt>height</dt>
308
+ <dt>y-rotate</dt>
309
309
 
310
- <dd>height of the rectangle within which the text is
311
- positioned</dd>
310
+ <dd>rotation on the y-axis, in degrees</dd>
312
311
 
313
312
  <dt>x</dt>
314
313
 
@@ -360,8 +359,6 @@ title.annotate(montage, 0,0,0,40, 'Named Colors') {
360
359
  </caption>
361
360
 
362
361
  <tr>
363
- <th>Format</th>
364
-
365
362
  <th>Replaced by</th>
366
363
  </tr>
367
364
 
@@ -0,0 +1,16 @@
1
+ #! /usr/local/bin/ruby -w
2
+ require 'RMagick'
3
+
4
+ # Demonstrate the Image#transpose method
5
+
6
+ img = Magick::Image.read('images/Flower_Hat.jpg').first
7
+
8
+ begin
9
+ img = img.transpose
10
+ rescue NotImplementedError
11
+ not_implemented = Magick::Image.read("images/notimplemented.gif").first
12
+ not_implemented.resize!(img.columns, img.rows)
13
+ img = not_implemented
14
+ end
15
+ img.write('transpose.jpg')
16
+ exit
@@ -0,0 +1,16 @@
1
+ #! /usr/local/bin/ruby -w
2
+ require 'RMagick'
3
+
4
+ # Demonstrate the Image#transverse method
5
+
6
+ img = Magick::Image.read('images/Flower_Hat.jpg').first
7
+
8
+ begin
9
+ img = img.transverse
10
+ rescue NotImplementedError
11
+ not_implemented = Magick::Image.read("images/notimplemented.gif").first
12
+ not_implemented.resize!(img.columns, img.rows)
13
+ img = not_implemented
14
+ end
15
+ img.write('transverse.jpg')
16
+ exit
@@ -92,6 +92,11 @@ float: left;
92
92
 
93
93
  <li><a href="#spaceship">&lt;=&gt;</a></li>
94
94
 
95
+ <li><a href="#adaptive_sharpen">adaptive_sharpen</a></li>
96
+
97
+ <li><a href=
98
+ "#adaptive_sharpen_channel">adaptive_sharpen_channel</a></li>
99
+
95
100
  <li><a href=
96
101
  "#adaptive_threshold">adaptive_threshold</a></li>
97
102
 
@@ -104,6 +109,10 @@ float: left;
104
109
 
105
110
  <li><a href="#annotate">annotate</a></li>
106
111
 
112
+ <li><a href="#auto_orient">auto_orient</a></li>
113
+
114
+ <li><a href="#auto_orient_bang">auto_orient!</a></li>
115
+
107
116
  <li><a href="#bilevel_channel">bilevel_channel</a></li>
108
117
 
109
118
  <li><a href="#black_threshold">black_threshold</a></li>
@@ -119,15 +128,15 @@ float: left;
119
128
  <li><a href="#change_geometry">change_geometry</a></li>
120
129
 
121
130
  <li><a href="#changed_q">changed?</a></li>
122
-
123
- <li><a href="#channel">channel</a></li>
124
-
125
- <li><a href="#channel_depth">channel_depth</a></li>
126
131
  </ul>
127
132
  </div>
128
133
 
129
134
  <div class="toccol">
130
135
  <ul>
136
+ <li><a href="#channel">channel</a></li>
137
+
138
+ <li><a href="#channel_depth">channel_depth</a></li>
139
+
131
140
  <li><a href="#channel_extrema">channel_extrema</a></li>
132
141
 
133
142
  <li><a href="#channel_mean">channel_mean</a></li>
@@ -163,13 +172,13 @@ float: left;
163
172
 
164
173
  <li><a href=
165
174
  "#compress_colormap_bang">compress_colormap!</a></li>
166
-
167
- <li><a href="#contrast">contrast</a></li>
168
175
  </ul>
169
176
  </div>
170
177
 
171
178
  <div class="toccol">
172
179
  <ul>
180
+ <li><a href="#contrast">contrast</a></li>
181
+
173
182
  <li><a href=
174
183
  "#contrast_stretch_channel">contrast_stretch_channel</a></li>
175
184
 
@@ -715,6 +724,112 @@ img = Magick::Image.read_inline(content)
715
724
  <p>SignatureImage</p>
716
725
  </div>
717
726
 
727
+ <div class="sig">
728
+ <h3 id="adaptive_sharpen">adaptive_sharpen</h3>
729
+
730
+ <p><span class="arg">image</span>.adaptive_sharpen(<span class=
731
+ "arg">radius</span>=0.0, <span class="arg">sigma</span>=1.0)
732
+ -&gt; <em>anImage</em></p>
733
+ </div>
734
+
735
+ <div class="desc">
736
+ <h4>Description</h4>
737
+
738
+ <p><span class="imquote">Adaptively sharpens the image by
739
+ sharpening more intensely near image edges and less intensely
740
+ far from edges.</span> The adaptive_sharpen method sharpens
741
+ <span class="imquote">the image with a Gaussian operator of the
742
+ given</span> <span class="arg">radius</span> <span class=
743
+ "imquote">and standard deviation</span> (<span class=
744
+ "arg">sigma</span>). <span class="imquote">For reasonable
745
+ results,</span> <span class="arg">radius</span> <span class=
746
+ "imquote">should be larger than</span> <span class=
747
+ "arg">sigma</span>. <span class="imquote">Use a</span>
748
+ <span class="arg">radius</span> <span class="imquote">of 0 and
749
+ adaptive_sharpen selects a suitable</span> <span class=
750
+ "arg">radius</span> <span class="imquote">for you.</span></p>
751
+
752
+ <h4>Arguments</h4>
753
+
754
+ <dl>
755
+ <dt>radius</dt>
756
+
757
+ <dd><span class="imquote">The radius of the Gaussian in
758
+ pixels, not counting the center pixel.</span> The default is
759
+ 0.0.</dd>
760
+
761
+ <dt>sigma</dt>
762
+
763
+ <dd><span class="imquote">The standard deviation of the
764
+ Laplacian, in pixels.</span> The default is 1.0.</dd>
765
+ </dl>
766
+
767
+ <h4>Returns</h4>
768
+
769
+ <p>A new image</p>
770
+
771
+ <h4>See also</h4>
772
+
773
+ <p><a href=
774
+ "#adaptive_sharpen_channel">adaptive_sharpen_channel</a></p>
775
+
776
+ <h4>Magick API</h4>
777
+
778
+ <p>AdaptiveSharpenImage (available in ImageMagick 6.2.7)</p>
779
+ </div>
780
+
781
+ <div class="sig">
782
+ <h3 id="adaptive_sharpen_channel">adaptive_sharpen_channel</h3>
783
+
784
+ <p><span class="arg">image</span>.adaptive_sharpen(<span class=
785
+ "arg">radius</span>=0.0, <span class="arg">sigma</span>=1.0
786
+ [,<span class="arg">channel</span>...]) -&gt;
787
+ <em>anImage</em></p>
788
+ </div>
789
+
790
+ <div class="desc">
791
+ <h4>Description</h4>
792
+
793
+ <p>The same as <code>adaptive_sharpen</code> except only the
794
+ specified channels are sharpened.</p>
795
+
796
+ <h4>Arguments</h4>
797
+
798
+ <dl>
799
+ <dt>radius</dt>
800
+
801
+ <dd><span class="imquote">The radius of the Gaussian in
802
+ pixels, not counting the center pixel.</span> The default is
803
+ 0.0.</dd>
804
+
805
+ <dt>sigma</dt>
806
+
807
+ <dd><span class="imquote">The standard deviation of the
808
+ Laplacian, in pixels.</span> The default is 1.0.</dd>
809
+
810
+ <dt>channel...</dt>
811
+
812
+ <dd>0 or more <a href=
813
+ "constants.html#ChannelType">ChannelType</a> arguments. If no
814
+ channels are specified, sharpens all the channels. Specifying
815
+ no channel arguments has the same effect as the
816
+ <code>adaptive_sharpen</code> method, above.</dd>
817
+ </dl>
818
+
819
+ <h4>Returns</h4>
820
+
821
+ <p>A new image</p>
822
+
823
+ <h4>See also</h4>
824
+
825
+ <p><a href="#adaptive_sharpen">adaptive_sharpen</a></p>
826
+
827
+ <h4>Magick API</h4>
828
+
829
+ <p>AdaptiveSharpenImageChannel (available in ImageMagick
830
+ 6.2.7)</p>
831
+ </div>
832
+
718
833
  <div class="sig">
719
834
  <h3 id="adaptive_threshold">adaptive_threshold</h3>
720
835
 
@@ -960,6 +1075,65 @@ img = Magick::Image.read_inline(content)
960
1075
  <p>self</p>
961
1076
  </div>
962
1077
 
1078
+ <div class="sig">
1079
+ <h3 id="auto_orient">auto_orient</h3>
1080
+
1081
+ <p><span class="arg">image</span>.auto_orient -&gt;
1082
+ <em>anImage</em></p>
1083
+ </div>
1084
+
1085
+ <div class="desc">
1086
+ <h4>Description</h4>
1087
+
1088
+ <p>Rotates or flips the image based on the image's EXIF
1089
+ orientation tag. Note that only some models of modern digital
1090
+ cameras can tag an image with the orientation. If the image
1091
+ does not have an orientation tag, or the image is already
1092
+ properly oriented, then <code>auto_orient</code> returns an
1093
+ exact copy of the image.</p>
1094
+
1095
+ <h4>Returns</h4>
1096
+
1097
+ <p>A new image</p>
1098
+
1099
+ <h4>See also</h4>
1100
+
1101
+ <p><a href="#auto_orient_bang">auto_orient!</a></p>
1102
+
1103
+ <h4>Magick API</h4>
1104
+
1105
+ <p>FlipImage, FlopImage, RotateImage, TransposeImage (available
1106
+ in ImageMagick 6.2.8), TransverseImage (available in
1107
+ ImageMagick 6.2.8)</p>
1108
+ </div>
1109
+
1110
+ <div class="sig">
1111
+ <h3 id="auto_orient_bang">auto_orient!</h3>
1112
+
1113
+ <p><span class="arg">image</span>.auto_orient! -&gt;
1114
+ <em>self</em></p>
1115
+ </div>
1116
+
1117
+ <div class="desc">
1118
+ <h4>Description</h4>
1119
+
1120
+ <p>Rotates or flips the image based on the image's EXIF
1121
+ orientation tag. Note that only some models of modern digital
1122
+ cameras can tag an image with the orientation. If the image
1123
+ does not have an orientation tag, or the image is already
1124
+ properly oriented, then <code>auto_orient!</code> returns
1125
+ <code>nil</code>.</p>
1126
+
1127
+ <h4>Returns</h4>
1128
+
1129
+ <p>self. or <code>nil</code> if the image is already properly
1130
+ oriented</p>
1131
+
1132
+ <h4>See also</h4>
1133
+
1134
+ <p><a href="#auto_orient">auto_orient</a></p>
1135
+ </div>
1136
+
963
1137
  <div class="sig">
964
1138
  <h3 id="bilevel_channel">bilevel_channel</h3>
965
1139
 
@@ -3033,11 +3207,11 @@ exit
3033
3207
 
3034
3208
  <h4>Magick API</h4>
3035
3209
 
3036
- <p>DispatchImage, or ExportImagePixels in ImageMagick 5.5.7</p>
3210
+ <p>DispatchImage (GraphicsMagick), or ExportImagePixels (ImageMagick)</p>
3037
3211
 
3038
3212
  <h4>Note</h4>
3039
3213
 
3040
- <p>This method is deprecated in ImageMagick 5.5.7 and later.
3214
+ <p>This method is deprecated in ImageMagick.
3041
3215
  Use the <code>export_pixels</code> method instead.</p>
3042
3216
  </div>
3043
3217
 
@@ -432,8 +432,11 @@ scanline = img.export_pixels(0, r, img.columns, 1, "RGB");
432
432
 
433
433
  <h4>See also</h4>
434
434
 
435
- <p><a href="#flip_bang">flip!</a>, <a href="#flop">flop</a>,
436
- <a href="image1.html#affine_transform">affine_transform</a></p>
435
+ <p><a href="image1.html#affine_transform">affine_transform</a>,
436
+ <a href="#flip_bang">flip!</a>, <a href="#flop">flop</a>,
437
+ <a href="image3.html#rotate">rotate</a>, <a href=
438
+ "image3.html#transpose">transpose</a>, <a href=
439
+ "image3.html#transverse">transverse</a></p>
437
440
 
438
441
  <h4>Magick API</h4>
439
442
 
@@ -485,8 +488,11 @@ scanline = img.export_pixels(0, r, img.columns, 1, "RGB");
485
488
 
486
489
  <h4>See also</h4>
487
490
 
488
- <p><a href="#flop_bang">flop!</a>, <a href="#flip">flip</a>,
489
- <a href="image1.html#affine_transform">affine_transform</a></p>
491
+ <p><a href="image1.html#affine_transform">affine_transform</a>,
492
+ <a href="#flip">flip</a>, <a href="#flop_bang">flop!</a>,
493
+ <a href="image3.html#rotate">rotate</a>, <a href=
494
+ "image3.html#transpose">transpose</a>, <a href=
495
+ "image3.html#transverse">transverse</a></p>
490
496
 
491
497
  <h4>Magick API</h4>
492
498
 
@@ -572,12 +578,9 @@ scanline = img.export_pixels(0, r, img.columns, 1, "RGB");
572
578
  src="ex/images/Flower_Hat.jpg" alt="frame example" title=
573
579
  "Click to see the example script" /><!--
574
580
  This img tag displays the framed image when the mouse is not over
575
- --><img
576
- onmouseover=
577
- "this.style.display='none';frameless.style.display='';" src=
578
- "ex/frame.jpg" alt="frame example" name="framed" /></a>
579
- <img src="ex/images/spin.gif" alt="" style=
580
- "margin-bottom: 280px" title=
581
+ --><img onmouseover="this.style.display='none';frameless.style.display='';"
582
+ src="ex/frame.jpg" alt="frame example" /></a> <img src=
583
+ "ex/images/spin.gif" alt="" style="margin-bottom: 280px" title=
581
584
  "Mouse over the example to see the original image" /></p>
582
585
 
583
586
  <h4>See also</h4>
@@ -83,6 +83,9 @@
83
83
 
84
84
  <li><a href="#radial_blur">radial_blur</a></li>
85
85
 
86
+ <li><a href=
87
+ "#radial_blur_channel">radial_blur_channel</a></li>
88
+
86
89
  <li><a href="#raise">raise</a></li>
87
90
 
88
91
  <li><a href=
@@ -155,15 +158,15 @@
155
158
  <li><a href="#stereo">stereo</a></li>
156
159
 
157
160
  <li><a href="#store_pixels">store_pixels</a></li>
158
- </ul>
159
- </div>
160
161
 
161
- <div class="toccol">
162
- <ul>
163
162
  <li><a href="#strip_bang">strip!</a></li>
164
163
 
165
164
  <li><a href="#swirl">swirl</a></li>
165
+ </ul>
166
+ </div>
166
167
 
168
+ <div class="toccol">
169
+ <ul>
167
170
  <li><a href=
168
171
  "#texture_fill_to_border">texture_fill_to_border</a></li>
169
172
 
@@ -182,6 +185,14 @@
182
185
 
183
186
  <li><a href="#transparent">transparent</a></li>
184
187
 
188
+ <li><a href="#transpose">transpose</a></li>
189
+
190
+ <li><a href="#transpose_bang">transpose!</a></li>
191
+
192
+ <li><a href="#transverse">transverse</a></li>
193
+
194
+ <li><a href="#transverse_bang">transverse!</a></li>
195
+
185
196
  <li><a href="#trim">trim</a></li>
186
197
 
187
198
  <li><a href="#trim_bang">trim!</a></li>
@@ -635,13 +646,55 @@ img.quantum_operator(DivideQuantumOperator, 2, RedChannel)
635
646
 
636
647
  <p><a href="image1.html#blur_image">blur_image</a>, <a href=
637
648
  "image2.html#gaussian_blur">gaussian_blur</a>, <a href=
638
- "image2.html#motion_blur">motion_blur</a></p>
649
+ "image2.html#motion_blur">motion_blur</a>, <a href=
650
+ "#radial_blur_channel">radial_blur_channel</a></p>
639
651
 
640
652
  <h4>Magick API</h4>
641
653
 
642
654
  <p>RadialBlurImage</p>
643
655
  </div>
644
656
 
657
+ <div class="sig">
658
+ <h3 id="radial_blur_channel">radial_blur_channel</h3>
659
+
660
+ <p><span class=
661
+ "arg">image</span>.radial_blur_channel(<span class=
662
+ "arg">aFloat</span> [, <span class="arg">channel</span>...])
663
+ -&gt; <em>anImage</em></p>
664
+ </div>
665
+
666
+ <div class="desc">
667
+ <h4>Description</h4>
668
+
669
+ <p>Applies a radial blur to the selected image channels.</p>
670
+
671
+ <h4>Arguments</h4>
672
+
673
+ <dl>
674
+ <dt>angle</dt>
675
+
676
+ <dd>Amount of blur, in degrees</dd>
677
+
678
+ <dt>channel...</dt>
679
+
680
+ <dd>0 or more <a href=
681
+ "constants.html#ChannelType">ChannelType</a> arguments. If no
682
+ channels are specified, all the channels are blurred.</dd>
683
+ </dl>
684
+
685
+ <h4>Returns</h4>
686
+
687
+ <p>A new image</p>
688
+
689
+ <h4>See also</h4>
690
+
691
+ <p><a href="#radial_blur">radial_blur</a></p>
692
+
693
+ <h4>Magick API</h4>
694
+
695
+ <p>RadialBlurImageChannel (available in ImageMagick 6.2.4)</p>
696
+ </div>
697
+
645
698
  <div class="sig">
646
699
  <h3 id="raise">raise</h3>
647
700
 
@@ -1022,13 +1075,13 @@ random_threshold_channel(geom, RedChannel)
1022
1075
  <div class="desc">
1023
1076
  <h4>Description</h4>
1024
1077
 
1025
- <p>Rotate the receiver by the specified angle. <span class=
1026
- "imquote">Positive angles rotate counter-clockwise (right-hand
1027
- rule), while negative angles rotate clockwise. Rotated images
1028
- are usually larger than the originals and have "empty"
1029
- triangular corners. Empty triangles left over from shearing the
1030
- image are filled with the color defined by the pixel at
1031
- location (0,0).</span></p>
1078
+ <p>Rotate the receiver by the specified angle. Positive angles
1079
+ rotate clockwise while negative angles rotate
1080
+ counter-clockwise. <span class="imquote">Rotated images are
1081
+ usually larger than the originals and have "empty" triangular
1082
+ corners. Empty triangles left over from shearing the image are
1083
+ filled with the color defined by the pixel at location
1084
+ (0,0).</span></p>
1032
1085
 
1033
1086
  <h4>Arguments</h4>
1034
1087
 
@@ -1501,7 +1554,7 @@ random_threshold_channel(geom, RedChannel)
1501
1554
  id="shadowed" onmouseover=
1502
1555
  "this.style.display='none';shadowless.style.display='';" src=
1503
1556
  "ex/shadow_after.gif" alt="shadow example"
1504
- /></a> <img src="ex/images/spin.gif" alt="" style=
1557
+ /></a> <img src="ex/images/spin.gif" alt="" style=
1505
1558
  "margin-bottom: 120px" title=
1506
1559
  "Mouse over the example to see the original image" /></p>
1507
1560
 
@@ -1719,7 +1772,7 @@ random_threshold_channel(geom, RedChannel)
1719
1772
  <img id="sheared" onmouseover=
1720
1773
  "this.style.display='none'; noshear.style.display='';" src=
1721
1774
  "ex/shear.jpg" alt="shear example"
1722
- /></a><img src="ex/images/spin.gif" alt="" class=
1775
+ /></a><img src="ex/images/spin.gif" alt="" class=
1723
1776
  "spin" style="left: 253px; top: 34px" title=
1724
1777
  "Mouse over the example to see the original image" /></p>
1725
1778
 
@@ -2679,6 +2732,124 @@ img.to_color(pixel)
2679
2732
  <p>TransparentImage</p>
2680
2733
  </div>
2681
2734
 
2735
+ <div class="sig">
2736
+ <h3 id="transpose">transpose</h3>
2737
+
2738
+ <p><span class="arg">image</span>.transpose -&gt;
2739
+ <em>anImage</em></p>
2740
+ </div>
2741
+
2742
+ <div class="desc">
2743
+ <h4>Description</h4>
2744
+
2745
+ <p class="imquote">Creates a horizontal mirror image by
2746
+ reflecting the pixels around the central y-axis while rotating
2747
+ them by 90 degrees.</p>
2748
+
2749
+ <h4>Returns</h4>
2750
+
2751
+ <p>A new image</p>
2752
+
2753
+ <h4>Example</h4>
2754
+
2755
+ <p class="rollover"><a href=
2756
+ "javascript:popup('transpose.rb.html')"><img src=
2757
+ "ex/transpose.jpg" alt="transpose example" title=
2758
+ "Click to see the example script" onmouseover=
2759
+ "this.src='ex/images/Flower_Hat.jpg'" onmouseout=
2760
+ "this.src='ex/transpose.jpg'" /></a> <img src=
2761
+ "ex/images/spin.gif" alt="" class="spin" style="left:252px;"
2762
+ title="Mouse over the example to see the original image" /></p>
2763
+
2764
+ <h4>See also</h4>
2765
+
2766
+ <p><a href="image2.html#flip">flip</a>, <a href=
2767
+ "image2.html#flop">flop</a>, <a href=
2768
+ "image3.html#rotate">rotate</a>, <a href=
2769
+ "#transpose_bang">transpose!</a>, <a href=
2770
+ "image3.html#transverse">transverse</a></p>
2771
+
2772
+ <h4>Magick API</h4>
2773
+
2774
+ <p>TransposeImage (available in ImageMagick 6.2.8)</p>
2775
+ </div>
2776
+
2777
+ <div class="sig">
2778
+ <h3 id="transpose_bang">transpose!</h3>
2779
+
2780
+ <p><span class="arg">image</span>.transpose! -&gt;
2781
+ <em>self</em></p>
2782
+ </div>
2783
+
2784
+ <div class="desc">
2785
+ <h4>Description</h4>
2786
+
2787
+ <p>In-place form of <a href="#transpose">transpose</a>.</p>
2788
+
2789
+ <h4>Returns</h4>
2790
+
2791
+ <p>self</p>
2792
+ </div>
2793
+
2794
+ <div class="sig">
2795
+ <h3 id="transverse">transverse</h3>
2796
+
2797
+ <p><span class="arg">image</span>.transverse -&gt;
2798
+ <em>anImage</em></p>
2799
+ </div>
2800
+
2801
+ <div class="desc">
2802
+ <h4>Description</h4>
2803
+
2804
+ <p class="imquote">Creates a vertical mirror image by
2805
+ reflecting the pixels around the central x-axis while rotating
2806
+ them by 270 degrees</p>
2807
+
2808
+ <h4>Returns</h4>
2809
+
2810
+ <p>A new image</p>
2811
+
2812
+ <h4>Example</h4>
2813
+
2814
+ <p class="rollover"><a href=
2815
+ "javascript:popup('transverse.rb.html')"><img src=
2816
+ "ex/transverse.jpg" alt="transverse example" title=
2817
+ "Click to see the example script" onmouseover=
2818
+ "this.src='ex/images/Flower_Hat.jpg'" onmouseout=
2819
+ "this.src='ex/transverse.jpg'" /></a> <img src=
2820
+ "ex/images/spin.gif" alt="" class="spin" style="left:252px;"
2821
+ title="Mouse over the example to see the original image" /></p>
2822
+
2823
+ <h4>See also</h4>
2824
+
2825
+ <p><a href="image2.html#flip">flip</a>, <a href=
2826
+ "image2.html#flop">flop</a>, <a href=
2827
+ "image3.html#rotate">rotate</a>, <a href=
2828
+ "image3.html#transpose">transpose</a>, <a href=
2829
+ "#transverse_bang">transverse!</a></p>
2830
+
2831
+ <h4>Magick API</h4>
2832
+
2833
+ <p>TransposeImage (available in ImageMagick 6.2.8)</p>
2834
+ </div>
2835
+
2836
+ <div class="sig">
2837
+ <h3 id="transverse_bang">transverse!</h3>
2838
+
2839
+ <p><span class="arg">image</span>.transverse! -&gt;
2840
+ <em>self</em></p>
2841
+ </div>
2842
+
2843
+ <div class="desc">
2844
+ <h4>Description</h4>
2845
+
2846
+ <p>In-place form of <a href="#transverse">transverse</a>.</p>
2847
+
2848
+ <h4>Returns</h4>
2849
+
2850
+ <p>self</p>
2851
+ </div>
2852
+
2682
2853
  <div class="sig">
2683
2854
  <h3 id="trim">trim</h3>
2684
2855