How to use graphics and sound in C?

  • Thread starter Thread starter Lojzek
  • Start date Start date
  • Tags Tags
    Graphics Sound
AI Thread Summary
To create a C program that outputs graphics and sound using DevC++, several options are available. For Windows, the Graphics Device Interface (GDI) allows for 2D vector graphics and bitmap manipulation, but it is considered cumbersome and limits portability. A more versatile approach is to use cross-platform graphics libraries like OpenGL, which supports both 2D and 3D graphics. For simpler tasks like displaying colored points on the screen, GDI can be used, but it requires understanding how to interface between C and GDI commands. However, many recommend using cross-platform GUI toolkits such as wxWidgets, Qt, or GTK+, which, while more complex, provide greater flexibility and portability. Some suggest that for ease of use, transitioning to a higher-level language like Python with wxPython may be beneficial for those less experienced in C/C++.
Lojzek
Messages
246
Reaction score
1
I would like to write a C program that outputs graphics and sound.
I use DevC++.

How can I do it?
 
Technology news on Phys.org
Lojzek said:
I would like to write a C program that outputs graphics and sound.
I use DevC++.

How can I do it?

Well, what type of graphics? Aimed at what operating system? In windows, you can use GDI (graphics device interface) to do 2D vector graphics, and also use bitmaps. You might want to use a cross platform graphics library such as OpenGL to do your graphics if you want to port your application to other operating systems.
 
computerex said:
Well, what type of graphics? Aimed at what operating system? In windows, you can use GDI (graphics device interface) to do 2D vector graphics, and also use bitmaps. You might want to use a cross platform graphics library such as OpenGL to do your graphics if you want to port your application to other operating systems.
I don't know anything about graphics types. I just want to find any way to put colored points on the screen on the specified coordinates calculated in C. I use windows. Can you tell me more about GDI? Is this a program that I can download? And how can I transfer information between C and GDI? I suppose data calculated in C must be put to a file in a specific format?
 
GDI is the Windows graphics subsystem - it's the set of commands to draw a point/line etc in a window. There is also opengl, a more complicated but industry standard way of drawing 2d and 3d objects.
Look at http://www.codeproject.com/KB/GDI/ for samples of windows programming, I assume from the dev c++ you are on windows?.
 
You cannot do these tasks directly from C/C++ alone -- you need to use some kind of a library. The GDI is an interface to Windows directly, and I advise that you do not use it. It's very cumbersome and, of course, locks you into using Windows.

Instead, I'd recommend that you take a look at the various cross-platform GUI toolkits and pick one that suits your needs best. wx, Qt, and GTK+ are all good choices.

Using these toolkits from C/C++ is by no means easy. You'll actually need to be a fairly sophisticated programmer to use them. As a result, I strongly recommend ditching C/C++ entirely, and using a platform like wxPython for your work.

- Warren
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top