VC下超简单的绘图库,推荐新手用,顺便老手给提点建议吧

yangw80 2009-11-17 04:44:15
  不少老师直接拿 VC 来讲 C 语言的,因为 VC 的编辑和调试环境都很优秀,并且 VC2008 有适合教学的免费版本。只可惜在 VC 下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。许多老师让学生在 TC 下绘图,除了学生的兴趣和教学需要外,也是无奈。

  还有就是计算机图形学,这门课程的重点是绘图算法,而不是 Windows 编程。所以,许多老师不得不用 TC 教学,因为 Windows 绘图太复杂了,会偏离教学的重点。还有的老师用 vc + OpenGL 来教学,可是他们也承认,OpenGL 对不少学生而言,太复杂了,一些学生并不是不懂图形学,而是不懂 OpenGL,就这么卡住了。

  所以,我想给初学者一个更好的学习环境,就是 VC 方便的开发平台和 TC 简单的绘图功能,于是就有了这个库。如果您刚开始学 C 语言,或者您是一位教 C 语言的老师,再或者您在教/学计算机图形学,那么这个库一定会让您兴奋的。

  库只包括 5 个文件,一个头文件,和分别针对 VC6/VC2008 两个版本 Unicode/MBCS 两种编码的四个库文件,下载的压缩包里有安装使用说明,一看就明白。编译后的 exe 也不需要依赖任何额外的 dll。

  使用上,语法风格基本和 TC 的 BGI 库保持了一致。当然,不少地方还是不一样的,比如色彩、块操作、批操作、鼠标支持(非消息形式)等。

  简单的用法如下:
#include <graphics.h> // 就是需要引用这个头文件
#include <conio.h>
void main()
{
initgraph(640, 480); // 初始化 640x480 大小的绘图界面
circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100
getch(); // 按任意键继续
closegraph(); // 关闭图形界面
}

  画点画线一样简单。

  注:虽然不少初学编程的同学都能借助这个库实现了贪吃蛇、俄罗斯方块、推箱子、连连看等经典小游戏,但这个库并不适合做产品,只建议用来入门学习。我希望学习编程的同学能通过这个库找到编程的兴趣,更快的领悟编程,仅此而已。如果您想做简单的绘图产品,那么 SDL 库或许更适合您。或者,直接介入 DirectX / OpenGL 编程吧。

下载:
进入 CSDN 下载页面
进入我的下载页面
...全文
1142 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaomeiwang1112 2012-02-16
  • 打赏
  • 举报
回复
很好,谢谢了
taojiaqi1989 2010-12-06
  • 打赏
  • 举报
回复
焊好很强大
yangw80 2010-01-13
  • 打赏
  • 举报
回复
回 #21 clxman & #29 djh512:VC6 应该可以编译,主要就是基于 VC6 做的。如果 initgraph 有错误,请贴出来看看。

回 #33 hz443882152:VC 中没有 graphics.h,这个文件是我做的一个模拟 DOS 下 TC 中的 graphics.h,需要拷贝到 VC 里面才能用。
冰瓜瓜 2009-12-27
  • 打赏
  • 举报
回复
很好。不错
yel_bit 2009-12-26
  • 打赏
  • 举报
回复
up
hz443882152 2009-12-25
  • 打赏
  • 举报
回复
为什么你的那个#include <graphics.h> 在vc++里面找不到~~~~~~~~~~~
renrenwang1982 2009-12-12
  • 打赏
  • 举报
回复
Up
vanchristin 2009-12-10
  • 打赏
  • 举报
回复
还可以接分吗?
BestAns1 2009-12-09
  • 打赏
  • 举报
回复
楼上的啥问题,我用着没事啊。
你是不是用的.c扩展名啊,要是就改成.cpp再编译就好了
djh512 2009-12-08
  • 打赏
  • 举报
回复
void initgraph(int Width, int Height, int Flag = NULL);
这个函数为什么总有问题啊 ?
jameslinye 2009-12-07
  • 打赏
  • 举报
回复
逐点比较法直线插补
jianzhibeihang 2009-12-07
  • 打赏
  • 举报
回复
很强大啊
ilovedrv 2009-12-07
  • 打赏
  • 举报
回复
好东西啊,很好用
falcon_cjj 2009-12-05
  • 打赏
  • 举报
回复
卡了一下挺好用的呢。
会飞的老鱼 2009-12-05
  • 打赏
  • 举报
回复
谢谢楼主分享,谢谢了!
xiangrizao 2009-12-05
  • 打赏
  • 举报
回复
谢谢分享
yinghuashihun 2009-12-04
  • 打赏
  • 举报
回复
感谢楼主的分享
wuhuwy 2009-12-04
  • 打赏
  • 举报
回复
强人,顶!
clxman 2009-12-04
  • 打赏
  • 举报
回复
楼主,VC6能编过去吗?
void initgraph(int Width, int Height, int Flag = NULL);
这样的声明不行啊???怎么解决
vclongking 2009-12-04
  • 打赏
  • 举报
回复
加载更多回复(18)

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧