跳到主要内容

输入输出

图像加载和保存操作。

函数映射

加载

libvips CDart 绑定Pipeline 方法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()--

保存

libvips CDart 绑定Pipeline 方法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_dzsave()ioBindings.dzsave()pipeline.toDeepZoom()-

image_new_from_file

从文件加载图像。

final pipeline = VipsPipeline.fromFile('/path/to/image.jpg');

image_new_from_buffer

从内存缓冲区加载图像。

final bytes = await File('image.jpg').readAsBytes();
final pipeline = VipsPipeline.fromBuffer(bytes);

image_write_to_buffer

将图像保存到内存缓冲区。

final jpegBytes = pipeline.toJpeg(quality: 85);
final pngBytes = pipeline.toPng(compression: 6);
final webpBytes = pipeline.toWebp(quality: 90);

格式特定选项

JPEG

pipeline.toJpeg(quality: 85)  // quality: 1-100,默认 75

PNG

pipeline.toPng(compression: 6)  // compression: 0-9,默认 6

WebP

pipeline.toWebp(quality: 90, lossless: false)  // 默认 quality: 75