MyNixOS website logo
Description

'stb' Image C/C++ Header Files.

Provides image-related C/C++ header files from the 'stb' single-file libraries for image loading, writing, and resizing.

stbimageheaders

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

Included headers:

  • stb_image.h
  • stb_image_resize2.h
  • stb_image_write.h

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.

Metadata

Version

0.1.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows