用于Windows的简单2D图形C库具有以下要求?

时间:2010-10-13 20:17:22

标签: c graphics visual-studio-2005

我遇到过一个需要在Windows下的表单上绘制一些2D图形并能够执行以下任务的项目:

  • 读取图片格式jpg,GIF,png,透明度
  • 监控此表单的鼠标和键盘输入
  • 绘制简单的2D形状,例如。线,椭圆,矩形,像素集/清晰,多边形,......
  • 使用真实字体类型和大小绘制文字并测量不同字符串的文字大小
  • 用C语言编写,可以集成到Visual Studio 2008 C项目中

我尝试过OpenCV,但缺乏transperency,字体类型和GIF解码等内容

我需要你的帮助,如果图书馆易于学习和使用,那将是件好事。

感谢所有

3 个答案:

答案 0 :(得分:6)

对于SDL

来说,这听起来很完美

答案 1 :(得分:2)

为什么不使用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,那么为什么不使用Windows附带的API?

由于您已经在使用Visual Studio并且希望易于学习和开发,为什么不使用C#和.NET库?在2010年,这是构建仅限Windows程序的最简单方法。 Windows窗体可能会执行您需要的所有操作。如果你真的必须用C语言编写并且你只是Windows,那么使用GDI +(如果你需要支持旧版本的Windows,则使用GDI)。如果您想学习经典的Windows C编程,请转到源代码 - http://www.charlespetzold.com/pw5/

答案 2 :(得分:0)

正如daddz所说,你可以使用SDL进行输入和图像阅读。为了渲染2D基元,OpenGL将完成工作(确保在调用SDL_CreateWindow时创建一个兼容OpenGL的窗口)。关于字体渲染,它不是直接在SDL中实现,而是可以使用几个库(参见Survey Of OpenGL Font Technology)。