From 4d05afb4158257da94df3b942ca5ae7d8c61e34e Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Wed, 17 Jun 2026 16:52:41 +0200 Subject: [PATCH 1/2] Fix for ImageMagick 7 ImageMagick 7 no longer has `IntegerPixel`. Instead it now defines `LongPixel` to have always 32 bits on all architectures. In ImageMagick 6, `LongPixel` had 32 or 64 bits, depending on the size of the native type `long`. --- urlApp/src/URLDriver.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/urlApp/src/URLDriver.cpp b/urlApp/src/URLDriver.cpp index 1d0efa4..62c2c8f 100644 --- a/urlApp/src/URLDriver.cpp +++ b/urlApp/src/URLDriver.cpp @@ -120,7 +120,11 @@ asynStatus URLDriver::readImage() break; case 32: dataType = NDUInt32; +#if MagickLibVersion >= 0x700 + storageType = LongPixel; +#else storageType = IntegerPixel; +#endif break; default: asynPrint(pasynUserSelf, ASYN_TRACE_ERROR, From 1277b8be4672fc9cc7b318949c815f13e317be3b Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Tue, 7 Jul 2026 12:05:50 +0200 Subject: [PATCH 2/2] Still use IntegerPixel with GraphicsMagick --- urlApp/src/URLDriver.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/urlApp/src/URLDriver.cpp b/urlApp/src/URLDriver.cpp index 62c2c8f..4d844da 100644 --- a/urlApp/src/URLDriver.cpp +++ b/urlApp/src/URLDriver.cpp @@ -120,9 +120,12 @@ asynStatus URLDriver::readImage() break; case 32: dataType = NDUInt32; -#if MagickLibVersion >= 0x700 +// MagickLibVersion has 3 hex digits in ImageMagick and 6 hex digits in GraphicsMagick +#if (MagickLibVersion < 0x1000 && MagickLibVersion >= 0x700) +// ImageMagick >= 7 no longer has IntegerPixel and fixes LongPixel to 32 bits storageType = LongPixel; #else +// ImageMagick <= 6 and GraphicsMagick have 32 bits IntegerPixel and 32 or 64 bits LongPixel storageType = IntegerPixel; #endif break;