The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

stbimageheaders

Provides selected image-related stb C/C++ headers for use by R packages through LinkingTo.

Included headers:

stb_image_resize.h is not included because upstream has moved the v1 resize header to the deprecated directory. Downstream packages should use stb_image_resize2.h.

Use from another R package

Add this to DESCRIPTION:

LinkingTo: stbimageheaders

Include the headers with package-qualified paths:

#include <stbimageheaders/stb_image.h>
#include <stbimageheaders/stb_image_resize2.h>
#include <stbimageheaders/stb_image_write.h>

In exactly one translation unit, define implementation macros before including the corresponding headers:

#define STB_IMAGE_IMPLEMENTATION
#include <stbimageheaders/stb_image.h>

#define STB_IMAGE_RESIZE_IMPLEMENTATION
#include <stbimageheaders/stb_image_resize2.h>

#define STB_IMAGE_WRITE_IMPLEMENTATION
#include <stbimageheaders/stb_image_write.h>

Do not define implementation macros in headers included by multiple translation units.

Migrating from stb_image_resize.h to stb_image_resize2.h

The v2 resize API is not a pure filename replacement. Common simple-API migrations are:

/* Old v1 API */
ok = stbir_resize_uint8(input, in_w, in_h, 0,
                        output, out_w, out_h, 0,
                        num_channels);

/* New v2 API */
out_ptr = stbir_resize_uint8_linear(input, in_w, in_h, 0,
                                    output, out_w, out_h, 0,
                                    (stbir_pixel_layout) num_channels);
ok = out_ptr != NULL;
/* Old v1 API */
ok = stbir_resize_float(input, in_w, in_h, 0,
                        output, out_w, out_h, 0,
                        num_channels);

/* New v2 API */
out_ptr = stbir_resize_float_linear(input, in_w, in_h, 0,
                                    output, out_w, out_h, 0,
                                    (stbir_pixel_layout) num_channels);
ok = out_ptr != NULL;

For four-channel data that should not be interpreted as alpha, prefer STBIR_4CHANNEL instead of (stbir_pixel_layout) 4.

License

The upstream stb headers offer a choice between the MIT license and a public-domain dedication. This R package elects the MIT license alternative. The complete upstream license text is preserved in each header.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.