Показать изображение на windows с помощью imagemagick - PullRequest
0 голосов
/ 14 января 2020

Я использую 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. Можете ли вы предоставить предложения?
...