diff --git a/natives/image/deepfry.cc b/natives/image/deepfry.cc index 43214789..42f9b5ed 100644 --- a/natives/image/deepfry.cc +++ b/natives/image/deepfry.cc @@ -31,13 +31,17 @@ CmdOutput esmb::Image::Deepfry(const string &type, string &outType, const char * final = VImage::arrayjoin(img, VImage::option()->set("across", 1)); final.set(VIPS_META_PAGE_HEIGHT, pageHeight); final.set("delay", fried.get_array_int("delay")); + final.set("loop", fried.get_int("loop")); } else { void *jpgBuf; size_t jpgLength; fried.write_to_buffer(".jpg", &jpgBuf, &jpgLength, VImage::option()->set("Q", 1)->set("strip", true)); final = VImage::new_from_buffer(jpgBuf, jpgLength, "", VImage::option()->set("access", "sequential")).copy_memory(); final.set(VIPS_META_PAGE_HEIGHT, pageHeight); - if (nPages > 1) final.set("delay", fried.get_array_int("delay")); + if (nPages > 1) { + final.set("delay", fried.get_array_int("delay")); + final.set("loop", fried.get_int("loop")); + } free(jpgBuf); } diff --git a/natives/image/jpeg.cc b/natives/image/jpeg.cc index 8a6c2046..77f2cf03 100644 --- a/natives/image/jpeg.cc +++ b/natives/image/jpeg.cc @@ -41,6 +41,7 @@ CmdOutput esmb::Image::Jpeg(const string &type, string &outType, const char *buf final = VImage::arrayjoin(img, VImage::option()->set("across", 1)); final.set(VIPS_META_PAGE_HEIGHT, pageHeight); final.set("delay", in.get_array_int("delay")); + final.set("loop", in.get_int("loop")); final.write_to_buffer(("." + outType).c_str(), reinterpret_cast(&buf), &dataSize, outType == "gif" ? VImage::option()->set("dither", 0) : 0); } else { @@ -50,6 +51,7 @@ CmdOutput esmb::Image::Jpeg(const string &type, string &outType, const char *buf final = VImage::new_from_buffer(jpgBuf, jpgLength, "", VImage::option()->set("access", "sequential")); final.set(VIPS_META_PAGE_HEIGHT, pageHeight); final.set("delay", in.get_array_int("delay")); + final.set("loop", in.get_int("loop")); final.write_to_buffer(("." + outType).c_str(), reinterpret_cast(&buf), &dataSize, outType == "gif" ? VImage::option()->set("dither", 0) : 0); free(jpgBuf);