由于libvips一般是用来保存打开医学多分辨率超大文件,在保存的时候会相对来说比较耗时,如果想要记录保存的进度可以这样,在tiffsave之前:
VipsImage* vipsImage;//你自己的这个类型的变量,是要保存的图像
vips_image_set_progress(vipsImage, TRUE);
g_signal_connect(vipsImage, "eval", G_CALLBACK(eval_callback), NULL);
然后书写eval_callback实现:
void eval_callback(VipsImage* image, VipsProgress* progress, void* pdata)
{
printf("eval_callback: percent = %d\n", progress->percent);
}
这样在eval_callback中就可以得到保存的进度了。