Constructor

VipsImagenew_from_memory

Declaration [src]

VipsImage*
vips_image_new_from_memory (
  void* data,
  size_t size,
  int width,
  int height,
  int bands,
  VipsBandFormat format
)

Description [src]

This function wraps a VipsImage around a memory area. The memory area must be a simple array, for example RGBRGBRGB, left-to-right, top-to-bottom. Use vips_image_new_from_buffer() to load an area of memory containing an image in a format.

VIPS does not take responsibility for the area of memory, it’s up to you to make sure it’s freed when the image is closed. See for example VipsObject::close.

Because VIPS is “borrowing” data from the caller, this function is extremely dangerous. Unless you are very careful, you will get crashes or memory corruption. Use vips_image_new_from_memory_copy() instead if you are at all unsure.

Use vips_copy() to set other image properties.

See also: vips_image_new(), vips_image_write_to_memory(), vips_image_new_from_memory_copy().

Parameters

data An array of guint8
 

Start of memory area.

 The length of the array is specified in the size argument.
 The data is owned by the caller of the function.
size size_t
 

Length of memory area.

width int
 

Image width.

height int
 

Image height.

bands int
 

Image bands (or bytes per pixel)

format VipsBandFormat
 

Image format.

Return value

Returns: VipsImage
 

The new VipsImage, or NULL on error.

 The caller of the function takes ownership of the data, and is responsible for freeing it.