RMagick 2 is the future of RMagick. This is the version that will get new
methods and support new ImageMagick features.
RMagick 2 does not support GraphicsMagick.
Changes:
RMagick 2.0.0
o Replaced configure/make/make install with standard Ruby setup.rb,
extconf.rb
o Removed support for Ruby earlier than 1.8.2
o Removed support for GraphicsMagick. As a result these methods are no
longer available: Image#grayscale_pseudo_class, Image#statistics.
o Removed support for all releases of ImageMagick earlier than 6.3.0.
o Removed deprecated Image#random_channel_threshold. Use
Image#random_threshold_channel instead
o Removed deprecated Image#channel_threshold. Use
Image#random_threshold_channel instead
o Removed unecessary Image#montage=
o Removed unecessary and undocumented Image#image_type=
o Removed deprecated Image::Info#tile_info, tile_info= attributes.
o Removed deprecated Image::Info#tile, tile= attributes. Use #extract,
#extract= instead
o Removed deprecated Image::Info#subimage, subimage= attributes. Use
scene, scene= instead
o Removed deprecated Image::Info#subrange, subrange= attributes. Use
number_scenes, number_scenes= instead
o Removed deprecated Magick.set_monitor. Use Image#set_monitor,
Image::Info#set_monitor instead
o Removed deprecated RunlengthEncodedCompression CompressionType. Use
RLECompression instead
o Deprecated Image#matte, matte= with ImageMagick 6.3.5 and later
o Added Image::Info#stroke=, stroke_width= and undercolor= attributes
o Added Image::Info#tile_offset= attribute
o Added Draw#fill_pattern= and #stroke_pattern= annotate attributes
o Changed Image::Info[] and Image::Info[]= to allow an omitted \"format\"
argument
o Added Image#destroy!, destroyed?, check_destroyed methods
o Support Image object creation/destruction tracing with the
Magick.trace_proc attribute
o Added Magick::QuantumRange. Magick::MaxRGB is deprecated.
o Added OptimizeTransLayer, RemoveDupsLayer, RemoveZeroLayer,
OptimizeImageLayer ImageLayerMethods enum values (available with
ImageMagick 6.3.3),
MosaicLayer, FlattenLayer (available with ImageMagick 6.3.6)
o RMagick works with Q32 version of ImageMagick
o Added ChangeMaskCompositeOp, DivideCompositeOp, LinearLightCompositeOp
CompositeOperator enum values
o Added SplineInterpolatePixel InterpolatePixelMethod enum value
o Added DitherVirtualPixelMethod, RandomVirtualPixelMethod,
BlackVirtualPixelMethod, GrayVirtualPixelMethod, WhiteVirtualPixelMethod
(available with ImageMagick 6.3.5), and MaskVirtualPixelMethod (available
with ImageMagick 6.3.3) VirtualPixelMethod enum values
o Added GIFInterlace, JPEGInterlace, PNGInterlace Interlace type enum
values (available with ImageMagick 6.3.4)
o Added SentinelFilter FilterTypes enum value (available in ImageMagick
6.3.6)
o Added Image.combine
o Added Image#separate (available with ImageMagick 6.3.2)
o Added Image#distort (available with ImageMagick 6.3.5)
o Added Image#each_pixel (thanks to Russell Norris for the suggestion and
code)
o Added Image#histogram? (available with ImageMagick 6.3.5)
o Added Image#sync_profiles (available with ImageMagick 6.3.2)
o Added Image#extent (available with ImageMagick 6.3.1)
o Added Image#excerpt, Image#excerpt! (available with ImageMagick 6.3.5)
o Added Image::Info#attenuate
o Added Image#clut_channel (available with ImageMagick 6.3.5)
o Feature Request #16264, added ImageList#composite_layers (available with
ImageMagick 6.3.3, request from Steve Martocci)
o Added Image#alpha= (available with ImageMagick 6.3.5)
o Added Image#gravity=
o Added Image#equalize_channel (available with ImageMagick 6.3.6)
o Added new FilterTypes values KaiserFilter, WelshFilter, ParzenFilter,
LagrangeFilter, BohmanFilter, BartlettFilter (available with ImageMagick
6.3.6)
o Fix bug #10339, Image#trim does not support \"reset page information
option\" (bug report from Nobody)
o Renamed RMagick.so to RMagick2.so to prevent confusion between RMagick.rb
and RMagick.so
o Feature Request #16276, re-organize doc to not split Image method pages
in the middle of an initial letter (request from Roy Leban)
o Updated for ImageMagick 6.3.7-5
o Made changes as necessary to work with current Ruby 1.9.0
Changes:
RMagick 1.15.12
o Fix bug #16221, starting with ImageMagick 6.3.2,
get_exif_by_entry/number returns empty
array/hash when no arguments are specified, even
though the image has EXIF data (bug report from
Paul Clegg)
o Fix bug #16449, Image#store_pixels removes
opacity channel (bug report from Hans de Graaff)
RMagick 1.15.11
o Fix bug #15887, the x_ and y_resolution
attributes don't respect the units attribute
(bug report from Ben Greenburg)
o Fix bug #15889, memory leak in
Draw#composite method (bug report from Till
Vollmer)
Changes:
o Fixed bug #12671, incorrect link in HTML doc (bug report
from Thomas R. Koll
o Fixed bug #11890, incorrect usage description for
Draw#text_undercolor in HTML doc (bug report from Ezra
Freedman)
o Fixed bug #12706, specifying both a gravity and offsets to
Image#composite positions the composite image incorrectly
(bug report from Benoit Larroque)
RMagick 1.15.7
o Fix bug #11033, make distclean misses some files
(bug report from Lucas Nussbaum)
o Work around SetMagickRegistry problem in
ImageMagick 6.3.4-7
Changes:
RMagick 1.15.6
o Fix bug #10070, memory leak in
Draw#get_type_metrics,
Draw#get_multiline_type_metrics,
Draw#annotate (bug report from Sinclair Bain)
o Fix bug #10080, scripts in examples
directory should not be marked executable (bug
report from Lucas Nussbaum)
ChangeLog:
RMagick 1.15.0
o Added fx method to ImageList class
o Added wet_floor method to the Image class
o Added linear_stretch method to the Image class (available with
ImageMagick 6.3.1-1)
o Added recolor method to the Image class (available with ImageMagick 6.3.1-
3)
o Added polaroid method to the Image class (available with ImageMagick 6.3.1
-6)
o Added origin attribute to the Image::Info class (supported by
ImageMagick 6.3.1-4 and later)
o Added PaletteBilevelMatteType to the ImageType enum (available with
ImageMagick 6.2.9)
o Fix bug #6260, some RVG examples produce all-black GIF images
o Fix bug #7034, fix the matte method in the Draw class
o Fix bug #7373, default channels should be RGB instead of RGBA
o Fix bug #7716, Pixel#intensity wrong for gray images (bug report from
Morio Miki)
o Fix bug #7949, Magick::Draw.new abends when an exception occurs before
the draw object is fully initialized (bug report from Andrew Kaspick)
o Fix bug #8015, Magick::Draw.new doesn't call the optional arguments block
in the right scope (bug report from Andrew Kaspick)
o Tested with ImageMagick 6.3.2-0
pkgsrc changes:
You can select backend imaging library, GraphicsMagick or ImageMagick,
default is GraphicsMagick now.
Changes:
o Feature request #5015, support CMYK->RGB conversions. Added the
add_profile and delete_profiles to the Image class. Fixed the profile!,
iptc_profile, and color_profile methods. Added the
black_point_compensation attribute. (requested by Niklas Ekman)
o Added adaptive_blur, adaptive_blur_channel, find_similar_region, sketch
methods to the Image class (available with ImageMagick 6.2.8-6)
o Added adaptive_resize to the Image class (available with
ImageMagick 6.2.9)
o Added resample method to the Image class (thanks to Ant Peacocke for the
Update RMagick to 1.14.1.
pkgsrc changes:
You can select backend imaging library, GraphicsMagick or ImageMagick,
default is GraphicsMagick now.
Changes:
1.14.1:
o Handle change to the type of the ColorInfo.color field introduced by
ImageMagick 6.3.0.
1.14.0:
o Feature request #5015, support CMYK->RGB conversions. Added the
add_profile and delete_profiles to the Image class. Fixed the profile!,
iptc_profile, and color_profile methods. Added the
black_point_compensation attribute. (requested by Niklas Ekman)
o Added adaptive_blur, adaptive_blur_channel, find_similar_region, sketch
methods to the Image class (available with ImageMagick 6.2.8-6)
o Added adaptive_resize to the Image class (available with
ImageMagick 6.2.9)
o Added resample method to the Image class (thanks to Ant Peacocke for the
idea)
o Added four new compositing methods to the Image class: blend, displace,
dissolve, and watermark
o Feature request #5418, add get_iptc_dataset and each_iptc_dataset to the
Image class (requested by Oliver Andrich)
o Added the bias and mask attributes to the Image class
o Added optional qualifier argument to Image#rotate
o Patch #5742 from Douglas Sellers, adds channel method to the Image::Info
class.
o Feature request #5418, add get_iptc_dataset and each_iptc_dataset to the
Image class (requested by Oliver Andrich)
o Added the bias and mask attributes to the Image class
o Added optional qualifier argument to Image#rotate
o Patch #5742 from Douglas Sellers, adds channel method to the Image::Info
class.
o Added new ChannelType enum values
o Added texture= attribute writer to the Image::Info class
o Added tile= attribute writer to the Draw class
o Added pixel_interpolation_method attribute, InterpolatePixelMethod enum
class to the Image class (available with ImageMagick 6.2.9)
o Added "Magick Command Options and Their Equivalent Methods" page to the
documentation
o Fix bug #5079, Image#quantum_operator method doesn't work (bug report
from Pedro Martins)
o Fix bug #5080, incorrect RVG images when non-0 values used for the min_x
or min_y arguments to RVG#viewbox (bug report from Daniel Harple)
o Fix bug #5370, the clip_mask= attribute doesn't work
o Fix bug #5506, wrong argument used to intialize AffineMatrix (bug
report from Michael Shantzis)
RMagick 1.13.0
o Added transform, transform!, transpose, transpose! methods to Image class
(available with ImageMagick 6.2.8)
o Feature #4844, add auto_orient, auto_orient! methods to Image class
(suggestion from John Oordopjes, available with ImageMagick 6.2.8)
o Added adaptive_sharpen, adaptive_sharpen_channel methods to Image class
(available with ImageMagick 6.2.7)
o Added composite_image_channel, composite_image_channel! methods to Image
class (added in ImageMagick 6.2.6)
o Added radial_blur_channel method to Image class (available in
ImageMagick 6.2.4)
o Fix bug #4806, add hash, eql? methods to Pixel class (bug report from
Tim Pease)
o Change extension filename to match RubyGems 0.9.0 expectations.
o Fix bug #4821, correct doc for Image#rotate (bug report from Tim Pease)
o Update the Draw#annotate documentation
OBATA Akio as PR pkg/33538.
RMagick 1.11.1
o Fix bug #4511, add Makefile, rmagick_config.h as dependencies
in the Makefile (bug report from Eric Hodel)
o Ensure ExceptionInfo structures are freed
RMagick 1.11.0
o Feature #3705, add resize_to_fit (thanks to Robert Manni for the code)
o Added optimize_layers method to the ImageList class (available with
ImageMagick 6.2.6)
o Added limit_resource method to the Magick module
o Replaced install.rb with setup.rb, improved gem install
(bug report from Ryan Davis)
o Added --disable-htmldoc option to setup.rb
o Fix bug #4104, incorrect label on example (reported by Jason Lee)
o Added contrast_stretch_channel to the Image class (available with
ImageMagick 6.2.6)
o Improved Magick exception handling to eliminate memory leaks when an exception
is rescued and execution continues.
o Tested with ImageMagick 6.2.7
PR pkg/33056 from OBATA Akio.
RMagick 1.10.1
o Fix bug #3437, memory leak in ImageList#to_blob
o Fix bug #3363, Image#composite doesn't work when the source image
is bigger than the destination
o Fix bug #3635, Image#import_pixels doesn't accept FloatPixel or DoublePixel
storage types
o Feature #3597, add border_color attribute to the Draw class
RMagick 1.10.0
o Added add_noise_channel method to Image class (available with ImageMagick 6.2.5)
o Added vignette method to the Image class (available with ImageMagick 6.2.6)
o Added crop_resize method to the Image class (thanks to Jerret Taylor for
the suggestion and original code)
o Added export_pixels_to_str method to the Image class
o Provided default arguments to Image#export_pixels
o Added "order" option to Image#ordered_dither
o Added cyan, magenta, yellow, and black attribute accessors to the Pixel class
o Added CineonLogRGBColorspace, LABColorspace, Rec601LumaColorspace,
Rec601YCbCrColorspace, Rec709LumaColorspace, Rec709YCbCrColorspace,
LogColorspace enumerators to the ColorspaceType enumeration class.
o Fixed bug #2844, Image#to_blob exits if the image is a 0x0 JPEG
o Fixed bug #2688, Image#annotate, Draw#get_multiline_type_metrics handle
newline characters properly
o Tested with ImageMagick 6.2.6
o Removed support for all versions of ImageMagick prior to 6.0.0
the appropriate tool via USE_TOOLS (usually "gs:run"), and remove
ghostscript.mk. This change removes a rather out-dated file from
pkgsrc and switches packages to use the more compact implementation
of the Ghostcript-handling inside the tools framework.
pkgsrc's change is to use bz2 archive.
RMagick 1.9.2
o Feature 2412, add the virtual_pixel_method attribute and the
VirtualPixelMethod enumeration
o Feature 2462, add the ticks_per_second attribute
PR pkg/31251 provided by Akio Obata.
RMagick 1.9.1
o Fixed bug #2157, Image#total_colors is now an alias of Image#number_colors
o Fixed bug #2155, Image#dispose= now accepts a DisposeType enum, #dispose
now returns a DisposeType enum.
o Fixed bug #2156, Image#properties no longer returns garbage for the property
name and value.
o Fixed bug #2190, Image#compose now returns a CompositeOperator
o Fixed bug #2191, Image#composite no longer abends when called
with 0 arguments
o Fixed bug #2213, ImageList#montage method no longer leaves the imagelist
corrupt after raising an ImageMagickError
o Feature #2159, added GrayChannel ChannelType enum value, BlendCompositeOp
and ColorBurnCompositeOp CompositeOperator enum values, RLECompression
CompressionType enum value, deprecate RunlengthCompression
o Feature #2172, added optional argument to crop and crop! to reset the saved
page offsets after cropping
o Deprecated Image#channel_threshold. This method is deprecated in ImageMagick.
o Feature #2373, change Image#import_pixels to accept a pixel data buffer
as well as a pixel data array. (Thanks to Ara T. Howard for this suggestion!)
o Fixed to compile without errors with ImageMagick 6.2.4-4.
OBATA Akio.
Changes:
o Added Image#monitor=, Image::Info#monitor=.
Deprecated Magick.set_monitor.
o Fixed bug #2070, support color names with embedded spaces
o Fixed bug #2109, properly scope Magick constants in RVG
o Fix bug #1983, potential buffer overflow in version_constants
o Added feature #2015, support the pointsize, authenticate,
and sampling_factor attributes in Image::Info
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
o Fix bugs #1876, #1888, #1919
o Added feature #1941, RVG's polyline, polygon accept array arguments
o Numerous fixes to the RVG documentation
Fixes PR pkg/30313 provided by Akio Obata.
Based on PR pkg/30171, I limit this pacakge available only for
ruby-1.8.X. Though document says it works with Ruby 1.6.7 and
lator, it didn't build with ruby16-base pacakge.
Change Log.
RMagick 1.8.0 - April 30, 2005
o Added Image#shadow (ImageMagick 6.1.7)
o Added Image::Info#undefine, #[], #[]=
o Added sigmoidal_contrast_channel, sepiatone to Image class
(ImageMagick 6.2.1)
o Added JPEG2000Compression constant (ImageMagick 6.2.2)
o Incorporated RVG classes
o Added RVG documentation, examples, updated installer
o Tested with ImageMagick 6.2.2-0, latest GraphicsMagick 1.2