Простая 2D графика C библиотека для окон со следующими требованиями? - PullRequest
2 голосов
/ 14 октября 2010

Я натолкнулся на проект, в котором требуется нарисовать 2D-графику на форме под Windows и иметь возможность выполнять следующие задачи:

  • чтение форматов изображений jpg, GIF, png, с прозрачностью
  • контролировать ввод мыши и клавиатуры в эту форму
  • Нарисуйте простые 2D фигуры, например. линия, эллипс, прямоугольник, набор / очистка пикселей, многоугольники, ...
  • отрисовка текста с истинными типами и размерами шрифта и измерение размеров текста для разных строк
  • написано на C и может быть интегрировано в проект Visual Studio 2008 C

Я пробовал OpenCV, но ему не хватает прозрачности, типов шрифтов, GIF-декодирования и прочего

Мне нужна ваша помощь, пожалуйста, было бы хорошо, если бы библиотеку легко изучать и использовать

спасибо всем

Ответы [ 3 ]

6 голосов
/ 14 октября 2010

Звучит как идеальная работа для SDL

2 голосов
/ 14 октября 2010

А почему бы не использовать встроенный в Windows GDI?

Традиционная документация GDI - http://msdn.microsoft.com/en-us/library/dd145203%28v=VS.85%29.aspx Более новая документация GDI + - http://msdn.microsoft.com/en-us/library/ms533798%28VS.85%29.aspx

Добавлена ​​дополнительная информация:

Полагаю, я не понимаю ваших требований. Требуется ли кроссплатформенная поддержка? Если да, то используйте C и некоторые кроссплатформенные библиотеки, о которых упоминали люди. Если это только Windows, то почему бы не использовать API, которые поставляются с Windows?

Поскольку вы уже используете Visual Studio и вам нужна простота изучения и разработки, почему бы вам не использовать библиотеки C # и .NET? В 2010 году это действительно самый простой способ создания программ только для Windows. Windows Forms, скорее всего, сделает все, что вам нужно. Если вам действительно нужно писать на C и вы используете только Windows, то используйте GDI + (или GDI, если вам требуется поддержка более старых версий Windows). Если вы хотите научиться классическому программированию на Windows C, перейдите к исходному тексту - http://www.charlespetzold.com/pw5/.

0 голосов
/ 14 октября 2010

Как сказал Даддз, вы можете использовать SDL для ввода и считывания изображения. Чтобы визуализировать ваши 2D примитивы, OpenGL сделает всю работу (обязательно создайте окно, совместимое с OpenGL, при вызове SDL_CreateWindow). Что касается рендеринга шрифтов, он не реализован напрямую в SDL, но можно использовать несколько библиотек (см. Обзор технологии шрифтов OpenGL ).

...