save method
Implementation
int save(String path, {ImWriteFormats? format, Map<ImWriteFlags, int> params = const {}}) {
final cPath = path.toNativeUtf8().cast<ffi.Char>();
final pathExt = path.split('.').last;
format ??= ImWriteFormats.fromValue(pathExt);
int rval = -1;
switch (format) {
case ImWriteFormats.PNG:
rval = c.stbi_write_png(cPath, _width, _height, _channels, ptr, 0);
case ImWriteFormats.JPEG || ImWriteFormats.JPG:
rval = c.stbi_write_jpg(
cPath,
_width,
_height,
_channels,
ptr,
params[ImWriteFlags.IMWRITE_JPEG_QUALITY] ?? 95,
);
case ImWriteFormats.BMP:
rval = c.stbi_write_bmp(cPath, _width, _height, _channels, ptr);
case _:
throw ArgumentError.value(format, 'format', 'Unsupported image format');
}
calloc.free(cPath);
return rval;
}