Results 1568 comments of John Cupitt

I think you just need to call `vips_init()`. I changed your `main()` to: ```C int main( int argc, char **argv ) { int errorCode; if (VIPS_INIT(argv[0])) throw(-1); vips::VImage src =...

I'll have a look. (you need to mark your code up like this: ``` ```C int main( int argc, char **argv ) { int errorCode; if (VIPS_INIT(argv[0])) throw(-1); etc. ```...

I don't think vips7 ever did refcounting, did it? That's one of the things we added in vips8 when we moved everything on top of gobject. You're mixing the vips8...

Oh, or use the vips7 C++ API, but we don't support that any more, unfortunately. So ... I think I would suggest sticking with C++, but just just using the...

vips7 stuff should still work -- nip2 (for example) has some built in vips7 filters and they work fine. You just can't mix the vips7 and vuips8 APIs (unless you...

If I change your `main()` to be: ```C int main( int argc, char **argv ) { int errorCode; if (VIPS_INIT(argv[0])) return(-1); IMAGE *src = im_open("temp", "p"); if (vips_format_read(argv[1], src)) return(-1);...

Hi @Dclipsham, It works if you avoid imagemagick, fwiw. If I run: ``` $ vips colourspace Apple_Group_with_Labels_V3.jpg x.jpg srgb ``` I see: ![x](https://github.com/libvips/libvips/assets/580843/1915abde-4bf4-4afd-a909-cf1271996ab7) So perhaps that's a workaround. If I...

It looks like `magickload` is performing an approximate CMYK->RGB conversion, but tagging the result as CMYK and adding an alpha. Could you explain why you need to use `magickload`? You...

libvips has internal code for falling back to IM if there's no native loader. For example: ``` $ vips invert MARBLES.BMP x.jpg ``` Will automatically run `magickload` for you behind...

... the native loaders are usually faster and more memory efficient. For example, with a large JPG I see: ``` $ /usr/bin/time -f %M:%e vips magickload st-francis.jpg x.jpg 6317532:10.68 $...