I/O
Image loading and saving operations.
Function Mapping
Loading
| libvips C | Dart Binding | Pipeline Method | PipelineSpec |
|---|---|---|---|
vips_image_new_from_file() | apiBindings.imageNewFromFile() | VipsPipeline.fromFile() | spec.input() |
vips_image_new_from_buffer() | apiBindings.imageNewFromBuffer() | VipsPipeline.fromBuffer() | spec.inputBuffer() |
vips_jpegload() | ioBindings.jpegload() | - | - |
vips_pngload() | ioBindings.pngload() | - | - |
vips_webpload() | ioBindings.webpload() | - | - |
vips_gifload() | ioBindings.gifload() | - | - |
vips_tiffload() | ioBindings.tiffload() | - | - |
vips_heifload() | ioBindings.heifload() | - | - |
Saving
| libvips C | Dart Binding | Pipeline Method | PipelineSpec |
|---|---|---|---|
vips_image_write_to_file() | apiBindings.imageWriteToFile() | pipeline.toFile() | - |
vips_image_write_to_buffer() | apiBindings.imageWriteToBuffer() | pipeline.toBuffer() | spec.execute() |
vips_jpegsave_buffer() | ioBindings.jpegsaveBuffer() | pipeline.toJpeg() | spec.outputJpeg() |
vips_pngsave_buffer() | ioBindings.pngsaveBuffer() | pipeline.toPng() | spec.outputPng() |
vips_webpsave_buffer() | ioBindings.webpsaveBuffer() | pipeline.toWebp() | spec.outputWebp() |
vips_gifsave_buffer() | ioBindings.gifsaveBuffer() | pipeline.toGif() | - |
vips_tiffsave_buffer() | ioBindings.tiffsaveBuffer() | pipeline.toTiff() | - |
vips_heifsave_buffer() | ioBindings.heifsaveBuffer() | pipeline.toHeif() | - |
vips_dzsave() | ioBindings.dzsave() | pipeline.toDeepZoom() | - |
image_new_from_file
Load an image from file.
C API
VipsImage *vips_image_new_from_file(const char *name, ...);
Dart Binding
Pointer<VipsImage> imageNewFromFile(Pointer<Char> name);
Pipeline API
final pipeline = VipsPipeline.fromFile('/path/to/image.jpg');
image_new_from_buffer
Load an image from memory buffer.
C API
VipsImage *vips_image_new_from_buffer(const void *buf, size_t len, const char *option_string, ...);
Dart Binding
Pointer<VipsImage> imageNewFromBuffer(
Pointer<Void> buf,
int len,
Pointer<Char> optionString,
);
Pipeline API
final bytes = await File('image.jpg').readAsBytes();
final pipeline = VipsPipeline.fromBuffer(bytes);
image_write_to_buffer
Save image to memory buffer.
C API
int vips_image_write_to_buffer(VipsImage *in, const char *suffix, void **buf, size_t *size, ...);
Dart Binding
int imageWriteToBuffer(
Pointer<VipsImage> image,
Pointer<Char> suffix,
Pointer<Pointer<Void>> buf,
Pointer<Size> size,
);
Pipeline API
final jpegBytes = pipeline.toJpeg(quality: 85);
final pngBytes = pipeline.toPng(compression: 6);
final webpBytes = pipeline.toWebp(quality: 90);
Format-Specific Options
JPEG
pipeline.toJpeg(quality: 85) // quality: 1-100, default 75
PNG
pipeline.toPng(compression: 6) // compression: 0-9, default 6
WebP
pipeline.toWebp(quality: 90, lossless: false) // default quality: 75