-
Notifications
You must be signed in to change notification settings - Fork 0
Language bindings
These are just some quick notes linking to the most popular bindings, please add more. The projects using libvips page lists libvips users other than language bindings. The libvips manual has a chapter on how to write bindings.
libvips includes a C API based on GObject.
There's a separate C++ API made as a thin layer over the C API. It adds useful features like automatic reference counting and operator overloads.
The old vips7 C and C++ are also still supported.
libvips includes a command-line interface. You can also use nip2 from the command-line, which can be useful.
vips is very similar to sharp, but for the Go language.
bimg is a sharp-like binding for Go
sharp is a libvips binding for node.js specialising in image resizing. It doesn't expose the whole of vips: it aims to be a good tool for one job.
libvips includes a a nice, very high-level python2 and python3 interface. The vips8 test suite uses this binding, so it should work well.
There are two vips8 Ruby bindings, one based on gir_ffi and one based on gobject-introspection, but sadly both currently have severe problems.
Until they are fixed, ruby-vips is a complete, reliable, leak-free binding written by hand and based on vips7.