Questions and postings pertaining to the development of ImageMagick, feature enhancements, and ImageMagick internals. ImageMagick source code and algorithms are discussed here. Usage questions which are too arcane for the normal user list should also be posted here.
#include <Magick++.h>
int main(int argc, char** argv)
{
Magick::Image image("wizard.jpg");
MagickCore::Image* coreImage = image.image();
for (int i = 0; i < image.channels(); ++i)
MagickCore::PixelChannel channel = MagickCore::GetPixelChannelChannel(coreImage, i);
return 0;
}
This seems to work on Linux but fails on Windows (with any image, built with VS2012) because coreImage->channel_map is null. It doesn't seem to be null if I use the debugger to dig into the Magick::Image object to inspect the value of channel_map, but it is null on the pointer returned from the Magick::Image::image() function. Anyone have any idea what's going on here?
Last edited by spongemonkey on 2014-05-15T09:26:44-07:00, edited 1 time in total.
We upgraded ImageMagick status to beta several months ago to promote wider spread use. We want to identify any problems or bugs before an official release in a few years.
I'll assume magick's response was @dlemstra, but to clarify this is v7.0
When I tested on linux it was downloaded as a zip file (as I can't seem to checkout from the repo to a VirtualBox hosted linux installation). I couldn't find a v7 download with the necessary VisualMagick additions to let me compile with Visual Studio, so I updated a v6.8 directory with the new code from the repo, which compiled just fine.
I guessed it might be down to some incompatible setting between IM and my test project, but the settings are the same as I have used in several IM based programs before...