2.8.3 - Switch to base-R pipe in examples and vignette - New functions magick_fonts() and dump_option_info() 2.8.2 - Fix image_draw() for small images: #317 - Change image_shadow() to transparent background by default - Downloading from a URL no longer requires 'curl' (to work in webR) 2.8.1 - Windows: update to libmagick 6.9.12-98 2.8.0 - Windows: update to libmagick 6.9.12-96 2.7.5 - Win/Mac: update to libmagick 6.9.12-93 2.7.4 - New function magick_set_seed() - Fix signature of as.raster.magick-image() 2.7.3 - MacOS: fix for changed fonts.conf location in latest xQuartz versions 2.7.2 - Reintroduce a separate image_coalesce() function (cf image_animate) - Automatically coalesce gif images when reading by default - Fix compatibility with super old ImageMagick for CentOS < 7.7 - Fix build for ucrt64 on Windows 2.7.1 - Win/Mac: update to imagemagick 6.9.12-3 + thresholds.xml bugfix. 2.7.0 - New functions image_shade, image_motion_blur, image_ordered_dither, image_level to support ggfx. 2.6.0 - image_write() gains a compression parameter - Updated binaries for Windows/MacOS to ImageMagick-6.9.11-57 - Added libraw and libheif delegates to Windows/MacOS binaries 2.5.2 - Fixes for CRAN - Remove some accidental files from source pkg 2.5.1 - Fix encoding bug for image_read() filepaths on Windows - Re-allow iter = -1 in image_morphology() - Do not require bash in configure script 2.5.0 - Windows / MacOS: binary packages to imagemagick 6.9.11-32 - Windows: new imagemagick should work again with latest GhostScript - New function image_distort() - image_montage() gains a few parameters similar to the command line - image_convert() gains a parameter 'interlace' (#269) - image_ggplot() no longer inverts y-scale, to avoid bug in R/ggplot2 - Add 'defines' parameter to image_write (#261) 2.4.0 - New functions: image_fx_sequence, image_deskew_angle, image_get_artifacts - Add 'defines' parameter to image_read and image_blank - Print imagemagick version during CMD check - Prepare for R_GE_version 13 (R_GE_definitions) by Paul Murrell - Try to limit to 2 threads during CMD check, as per CRAN policy - Image_blank() gains an options parameter - Some tweaks to image_crop() again 2.3 - Call Magick::InitializeMagick("") before init, fixes crash with openmp on OSX. - Double loop fix in image_shadow - image_animate() can now optimize animated gifs, by storing only the differences between frames. - image_animate() can now create animations with variable delays between frames. - image_read() now supports cimg objects (from the imager package) 2.2 - New function image_read_video() to sample images from a video file - RStudio: automatic preview now displays max 10 frames at 800px for videos. This prevents R from freezing due to rendering large videos in a preview. You can override the preview function via options('magick.viewer') - New functions image_separate() and image_combine() - image_composite() now has separate parameters 'offset' and 'gravity' - image_annotate() gains parameters 'kerning' and 'decoration' - image_crop() now uses the CropImageToTiles API which is more sophisticated 2.1 - New website at https://docs.ropensci.org/magick - Fix compilation for IM 6.8.8 (Suse Linux 12) - Add image_destroy() to release memory immediately without waiting for GC - New functions image_shadow() and image_shadow_mask() - image_annotate() is now vectorized over the 'text' parameter - rewrite image_ggplot() to use ggplot2::annotation_raster for performance - image_fill() gains a new argument 'refcolor' - the mac binary package now bundles the same fontconfig data as xQuarts to prevent conflicts - image_convert() gains a parameter matte to enable/disable the alpha channel - image_crop() gains a gravity argument - the 'offset' parameter in image_composite() can now also be a gravity type - New functions image_extent() and image_shear() - image_annotate() gains parameters 'weight' and 'style' - Windows: support upcoming GCC 8.x toolchain - Windows: fix for reading UTF-8 files in image_read() - Ubuntu: mention the new PPA location in readme and configure files - MacOS: workaround for OpenMP conflicts when building from source against homebrew IM7. This is still not working properly, better build with homebrew imagemagick@6. 2.0 - Ignore attribute warnings in image_read() instead of error (fixes #134) - New functions image_threshold() and image_lat(), tnx Jan Wijffels - New functions image_hough_draw() and image_hough_txt() - New function image_morphology() - New function image_fx() (Jan Wijffels #138) - Knitr is now a Suggests package instead of Imports (#150) - Set magick temp dir via C instead of env vars - Add 'tibble' class to df returned by image_info() - Added a rep() method for images 1.9 - New function image_attributes() - MacOS: new autobrew script uses prebuilt static bottle 1.8 - Export image_read_svg() and image_read_pdf() - Add image_raster() (thanks Thomas for the hint) - Vectorize and add 'fuzz' parameter to image_compare() - Added image_ggplot() with examples of using magick + ggplot2 - Added 'pseudo_image' parameter to image_blank() 1.7 - Several fixes for IM7, mostly related to alpha channels - Images rendered in knitr/rmarkdown are now stored in 'figures' (#108) - Add support for displaying images in Jupyter notebook - Export example images: logo, wizard, rose, granite - Better mapping of R internal colors to proper RGB strings - Added image_orient() to (auto) orient image - Add 'density' to image_info() - Fixes for Solaris 1.6 - Automatically repage transformations that may modify image size - Added image_repage() to be consistent with command line tool - image_composite() now vectorizes over both 1st and 2nd argument - Support EBImage S4 Image class in image_read() and as_EBImage() - Fix a bug where 1 channel image array would read as 'Green' instead of 'Gray' - Include alpha channel in as.raster() for magick images - Export image_data() function to export raw bitmap data - Round the clipping coordinates to fix problem with 1px edge around graphics - Reset clipping area when magick graphics device is closed or starts new page - Change default colorspace for image_quantize() to RGB which is safer - Breaking: 'fuzz' parameter rescaled to be a percentage (0-100) - Add image_strip() as well as 'strip = TRUE' paremeter to image_read() - Adding image_blank() to create empty images - Graphics device: hardcode font aliases for families used by R, issue #80 - Better font family lookup in graphics and image_annotate() - Switch to DrawableRotation() api for rotation in text and graphics - Autobrew: build gdk-pixbuf without modules (for rendering svg with rasters) - New functions option_types() and option_values() to list possible options - Drop support for GraphicsMagick (it never really worked) - RStudio viewer: convert to png for unsupported formats 1.5 - Add knit_print.magick-image() method so that images automatically appear in knitr docs - Adding vignette examples for image_modulate() and image_convolve() 1.4 - Windows/OSX: update imagemagick fixes a rare png writing bug - Set MAGICK_TMPDIR to match R session tempdir() instead of global TMPDIR - Explicitly set channels in image_negate() for IM7 compatibility - Added image_channel() to extract a single channel from an image - Added new image_convolve() function 1.3 - Automatically import + export magrittr::`%>%` for easy pipelining - Fix 'zero-configuration' in magick_config() to use the proper macro - BREAKING: image_compare() now returns an image with a 'distortion' attribute - Workaround for broken std::string(Magick::Color) in GCC-7 1.2 - Documentation! Split manuals into meaningful pages - Windows / MacOS: update ImageMagick to 6.9.9-9 (fixes a png bug and one for linejoins) - Added image_modulate() for setting brightness, saturation, hue - Added image_quantize() option for reducing number of colors in an image - Added image_resize() which supports custom resize filters - image_border() now takes a operator parameter, fixes transparency bug - image_write() gains a parameter 'comment' to add metadata to the file - image_convert() gain 'type' and 'colorspace' parameters e.g. to convert to grayscale - image_animate() has been merged with image_coalesce() 1.1 - Change default 'bg' in image_graph() to 'white' - Fix positioning of rasterImage() when raster image is rotated - Use TriangleFilter for interpolating rasterImage() - Improve support for 'symbol' fonts (metrics are still not 100%) - Rotate text using affine transformations - image_composite() gains a 'composite_args' parameter needed for e.g. blend - Fix support for demo images e.g. image_read("wizard:") or image_read("logo:") 1.0 - Vectorize image_draw() (all drawing should be applied to each frame) - Rename 'image_device' to 'image_graph' - Add 'antialias' parameter to image_graph() and image_draw() and image_convert() - New function image_apply() to apply a transformation to each frame individually - New function image_ocr() for easy text extraction - Added image_despeckle(), image_median(), image_reducenoise() (tnx Noam Ross) - image_background() now flattens each frame by default - Support dev.capture() for in image_graph() and image_draw() device - Support type nativeRaster, raster, and matrix in image_read() - Drawing rasters reimplemented DrawableCompositeImage() - OSX: Fix performance issue with font caching - Windows: Fix performance issue with font rendering - Windows: Add back support for gcc-4.6.3 on Windows 0.5 - NEW: native graphics device for producing images! See ?magick_device - NEW: easy drawing on top of images using magick_draw() - Windows: updated build to 6.9.9-3 - Various fixes to support upcoming IM7 (IM6 is still recommended) - Update vignette with new features 0.4 - Extract autobrew script 0.3 - Add [<-.magick-image to support for assigning layers to image by index - Revert Windows build to ImageMagick 6 because IM7 is too buggy - Add plot(image) method - Added intro vignette 0.2.2 - Try again to fix the mac binary package - Switch the Windows package to ImageMagick 7 0.2.1 - Try to fix the mac binary package 0.2 - Build binary package on macOS --with-zero-configuation (fixes "config xml file" errors). - image_read now reads straight from disk rather than via R. - Add as.raster() method for images - image_write gains a 'flatten' argument - Lots of small tweaks here and there 0.1 - Initial CRAN release