rmagick 1.12.0 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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