VIPS is a small, quick and memory-conservative 2D image processing C and C++ library. It comes with over 300 functions, for arithmetic processing, histograms, convolutions, morphological operations, frequency filtering, colouring, resampling, statistics and others. It supports most common raster image formats (PNG, TIFF, JPEG, FITS, OpenEXR), or chain to ImageMagick/GraphicsMagick.
Homepage
Download
Recent Releases
8.16.027 Nov 2024 00:05
major feature:
Allow small offsets for the PDF magic string project0 .
Add support for OJPEG tiffs DarthSim .
Add "palette" metadata item to flag palette images DarthSim .
Jxl load and save now support exif, xmp, animation DarthSim .
Improved configure output.
Add a filetype blocker for imagemagick.
Add basic g_auto support.
Support for long EXIF values MarcosAndre .
Better system error messages on windows kleisauke .
Add configurable max coordinate and vips_max_coord_get().
Improve kill handling.
PFM save and load now uses scRGB (ie. linear 0-1) NiHoel .
Turn vips_addalpha() into a VipsOperation RiskoZoSlovenska .
Add vips_rawsave_target(), vips_rawsave_buffer() akash-akya .
Vipsheader supports multiple "-f field" arguments sergeevabc .
Add "target_size" to webpsave john-parton .
Add "passes" to webpsave john-parton .
Revise sRGB - B_W coefficients daniellovera .
Add vips_sdf(), vips_clamp(), vips_maxpair(), vips_minpair().
More const for the C++ API Julianiolo .
Deprecate "cache" (use tilecache instead).
Add tests for tokenisation.
Add "unpack_complex" option to vips_getpoint().
Add deflate compression level setting to tiffsave ruven .
Add "smart_deblock" to webpsave goodusername123 .
8.15.426 Nov 2024 05:05
minor bugfix:
an off-by-one error in vips__token_get().
Heifsave: crash when passing an invalid bitdepth kleisauke .
Webpsave: memory leak on error dloebl .
Heifsave: ensure NCLX profile is freed in lossless mode kleisauke .
Threadpool: a race condition in error handling kleisauke .
Disable GLib cast checks and asserts for plain builds kleisauke .
Jpeg in tiff for high Q nahilsobh .
Threadset: a race condition during thread exit kleisauke .
Compatibility with MSVC Julianiolo .
8.15.214 Mar 2024 03:16
minor bugfix:
Deflate compression of tiff pyramids manthey .
Thumbnail always writes 8-bit thumbnails turtletowerz .
Lower min scale factor to 0.0 in svgload and pdfload lovell .
Heifload: don't warn on images with nclx profiles kleisauke .
Ppmload: ensure multi-line comments are skipped lovell .
Arrayjoin with some pipelines TheEssem .
High Q mono JPEG TIFF write with mozjpeg cavenel .
Tiffsave: ensure large file support ( 2GB) on MSVC kleisauke .
Check linker for target_clones support lovell .
8.15.110 Jan 2024 21:04
minor bugfix:
- reduceh: fix Highway path on SSE2 DarthSim
- fix JPEG in TIFF colourspace for Q = 90 heman1-test
- fix build with upcoming libjxl 0.9 kleisauke
- jxlsave: lower min effort value to 1 DarthSim
- fix build without libjpeg ionenwks
- fix vips7 plugin load jcupitt
- allow ".jfif" as a suffix for jpegsave casperbrike
- don't let the magick sniffer hijack TIFF kleisauke
- ignore BLOCKED classes in foreign map jcupitt
- add locks to fftw3 calls akash-akya
8.10.025 Jan 2020 16:05
major feature:
More conformat IIIF output from dzsave regisrob .
Add @id to dzsave to set IIIF id property regisrob .
Add max and min to region shrink rgluskin .
8.9.110 Jan 2020 18:45
minor feature:
Don't use the new source loaders for new_from_file or new_from_buffer, it.
Will break the loader priority system
8.9.018 Dec 2019 09:45
major feature:
Add vips_image_get/set_array_int().
Disable webp alpha output if all frame fill the canvas and are solid.
Support arrays of delays for animated images deftomat .
Add "unlimited" flag to svgload.
Disable webp alpha output if all frames fill the canvas and are solid.
Add "compression" option to heifsave lovell .
Support webp and zstd compression in tiff.
Loaders use "minimise" to input files earlier.
Integrate support for oss-fuzz omira-sch .
Add vips_switch() / vips_case()... fast many-way ifthenelse.
Better const handling for arithmetic operators comparisons against out
of range values.
Sharpen restores input colourspace.
Handle alpha in heifload / heifsave meyermarcel .
Add @interpretation and @format to rawload.
Nifti load/save uses double for all floating point metadata.
Add vips_error_buffer_copy().
Add VipsStream: a universal IO class for loaders and savers.
Jpeg, png, tiff (though not tiffsave), rad, svg, ppm and webp use the.
New IO class
Rewritten ppm load/save is faster and uses less memory.
Add @no_strip option to dzsave kalozka1 .
Add iiif layout to dzsave.
Use of resolution-unit metadata on tiff save kayarre .
Support TIFF CIELAB images with alpha angelmixu .
Support TIFF with premultiplied alpha in any band.
Block metadata changes on shared images pvdz .
8.5.314 Apr 2017 12:45
minor bugfix:
More link ing in docs.
Revise cache sizing again to help out of order errors under heavy load, thanks.
Kleisauke
8.308 Feb 2016 16:45
minor feature:
Add vips_reduce*()... a fast path for bicubic downsize.
Vips_resize() and vips_similarity use it when they can.
Bicubic is better on 32-bit int images.
8.1.011 May 2015 06:25
minor feature:
add vips_premultiply(), vips_unpremultiply().
change the alpha range rules for vips_flatten() to match vips_premultiply().
vipsthumbnail uses vips_resize() rather than its own code.
vipsthumbnail uses vips_premultiply() for better alpha quality.
8.0.206 May 2015 04:05
minor feature:
fix a refcount error in C++ wrapper, thanks huskier.
reomve a couple of stray header decls, thanks benjamin.
8.0.126 Apr 2015 23:45
minor bugfix:
Fix some compiler warnings.
8.012 Feb 2015 13:45
minor feature:
remove old doc stuff
add fliphor, flipver, rot90, rot180, rot270 convenience methods to
Python
add shift option to cast
better alpha handling for 16 8 bit colour conversions
7.42.308 Feb 2015 17:25
minor feature:
bump version for back-compat ABI change.
added vips_image_memory, an alias for vips_image_new_memory.
improvements to configure for python.
remove --disable-cxx configure flag.
7.42.022 Nov 2014 08:05
minor feature:
Better default resolution for PNG loading.
Better PBM (one bit) load, better PFM (float) import/export.
Fixed bug with vips_gaussblur() parameters.