2011-10-22 25 views
11

He estado buscando los códigos fuente del archivo de cabecera y su biblioteca asociada para integrarlo con mi programa C++.¿Cómo puedo obtener y utilizar el archivo de encabezado <graphics.h> en mi programa C++?

Al mismo tiempo, estoy interesado en esas bibliotecas multiplataforma que funcionan en más de un compilador. Para ser más explícito, me refiero a las bibliotecas que se utilizan para dibujar formas, líneas y curvas en C++.

+3

Posibles duplicados: http://stackoverflow.com/questions/671395/a-simple-2d-cross-platform-graphics-library-for-c-or-c http://stackoverflow.com/questions/1924171/simple-c-graphics-library http://stackoverflow.com/questions/4496541/c-graphics-library-in-visual-studio-and-eclipse – user786653

+0

Si tiene un código antiguo que hace referencia a 'graphics.h' o aún desea para usarlo por alguna razón, use [WinBGIm] (http://winbgim.codecutter.org/), un puerto moderno del original. – legends2k

Respuesta

15

<graphics.h> es una biblioteca muy antigua. Es mejor utilizar algo que es nuevo

Estas son algunas bibliotecas 2D (independiente de la plataforma) para C/C++

SDL

GTK+

Qt

También hay una conexión muy potente biblioteca de gráficos de código abierto en 3D para C++

OGRE

+1

¡Gracias por la respuesta precisa! – CompilingCyborg

3

[graphics.h] aparece algo que una vez se incluyó con Borland y/o Turbo C++, en los años 90.

http://www.daniweb.com/software-development/cpp/threads/17709/88149#post88149

Es poco probable que usted encontrará ningún apoyo para ese archivo con el compilador moderno. Para otras bibliotecas de gráficos, consulte la lista de preguntas "relacionadas" (preguntas relacionadas con esta). Por ejemplo, "A Simple, 2d cross-platform graphics library for c or c++?".

Saludos & HTH.,

5

<graphics.h> no es un encabezado estándar. Más comúnmente se refiere al encabezado de la API BGI de Borland para DOS y es anticuado en el mejor de los casos.

Sin embargo, es muy simple; hay una implementación de Win32 de la interfaz BGI llamada WinBGIm. Se implementa utilizando llamadas Win32 GDI, la interfaz gráfica de Windows de nivel más bajo. Como se proporciona como código fuente, es quizás una forma simple de entender cómo funciona GDI.

Sin embargo, WinBGIm no es multiplataforma. Si todo lo que quiere son primitivas de gráficos simples, la mayoría de las bibliotecas de GUI de alto nivel, como wxWidgets y Qt también lo admiten. Hay bibliotecas más simples sugeridas en las posibles respuestas duplicadas mencionadas en los comentarios.

+0

WinBGIm es bastante viejo en sí mismo - actualizado por última vez en 2004? - y no es para nada una API estándar. – duskwuff

+0

@duskwuff: No estoy seguro de qué punto está tratando de hacer. Parece que se aplica a la pregunta más que a mi respuesta. Ser viejo no es un problema cuando la API que implementa no ha cambiado. Declaré claramente que no es una biblioteca estándar. No hay una biblioteca estándar para gráficos. Todos sus puntos ya se han incluido en las respuestas existentes, y la pregunta en sí tiene 6 años de antigüedad (por lo tanto, al momento de escribir, WinBGIm no era tan viejo). – Clifford

4

Hay un puerto moderno para esta interfaz gráfica Turbo C, se llama WinBGIM, que emula gráficos BGI en MinGW/GCC.

No lo he intentado pero parece prometedor. Por ejemplo, initgraph crea una ventana, y desde este punto puede dibujar en esa ventana usando las funciones antiguas, al final closegraph borra la ventana. También tiene algunas extensiones más avanzadas (por ejemplo, manejo del mouse y doble buffering).

Cuando me mudé de la programación de DOS a Windows no tenía internet, y le pedí algo tan simple como esto. Pero al final tuve que aprender a crear ventanas y cómo manejar eventos y usar contextos de dispositivos desde la ayuda fuera de línea del SDK de Windows.

Cuestiones relacionadas