Я использую ImageMagick для нескольких модификаций изображений. Мое требование - захватить рабочий стол, обновить захваченное изображение и показать его в окне (Canvas, Form или простой образ Win32 API).
Все работает отлично, кроме отображения преобразованного изображения в окне.
В соответствии с этим обсуждением, функциональность отображения волшебства изображения поддерживается только Linux и Ma c (Пожалуйста, исправьте меня, если что-то не так).
На этом же форуме предлагается использовать im_display для показа изображения в окне. Тем не менее, я не могу найти любую функцию, связанную с im_display () в библиотеке изображений магия (Пожалуйста, исправьте меня здесь, если требуется дополнительное включение).
Когда я пытаюсь вызвать следующий код из Visual Studio, то получаю «Поддержка библиотеки делегатов не встроена» (X11) @ error / display.c / DisplayImages / 16224 »Ошибка:
int main(int argc, char **argv)
{
try
{
Magick::InitializeMagick(NULL);
Image screen("screenshot:");
screen.display();
}
catch (exception &error_)
{
cout << "Caught exception: " << error_.what() << endl;
return 1;
}
return 0;
}
Итак, вот два основных вопроса:
- Можно ли отобразить изображение, используя магию изображения на windows (Форма или холст или win32)
- Если это невозможно, HBITMAP поможет визуализировать изображение на windows. Однако я не могу найти способ конвертировать данные Image Magick в BITMAP. Можете ли вы предоставить предложения?