不要说VC++就说VC吧。
0、简单的图案,比如话点、线、多边形或者位图,你可以直接使用CDC这个类。看附录一;
1、画复杂的图案,可以看directx或者OpenGL,可以实现复杂的2D或者3D图案。
附录一、
简单绘图函数 FillRect() 用指定画刷填充给定矩形
FrameRect ()在矩形周围绘制边界
InvertRect() 反转矩形内容
DrawIcon() 绘制图标
DrawDragRect() 拖拽矩形时擦除并重绘它
FillSolidRect ()用实颜色填充矩形
Draw3Drect ()绘制三维矩形
DrawEdge() 绘制矩形边
DrawFrameControl() 绘制帧控件
DrawState ()显示图像并应用可视化效果来表示一个状态
在codeblocks中,可以通过集成EGE库,来实现C语言图形程序的编写,具体方式如下:
一、安装:
1、下载ege安装包;
2、将安装包解压;
3、把压缩包里include目录下所有文件,复制到编译器安装目录下的include目录内,例如D:\MinGW\include\;
4、把lib目录下对应编译器名目录下的文件,复制到编译器安装目录下的lib目录内,例如D:\MinGW\lib\。
二、建立工程:
只要第1步做好以后,其实已经安装好ege了,剩下的只是配置build option
点击file-new-projects,选择Console application:
注意编程语言要选C++(不必担心写代码仍可以是C语言,只是库要求源代码文件要是CPP)
三、配置build option:
建立好工程以后,需要设置好链接选项
1、点击project-build option:
2、切换到linker setting选项卡,添加-lgraphics -lgdi32 -limm32 -lmsimg32 -lole32 -loleaut32 -lwinmm -luuid -mwindows,这些链接选项。
3、点击Add,找到第一步编译器路径下的lib文件夹,添加libgraphicsa,libgdi32a libimm32a libmsimg32a libole32a liboleaut32a libwinmma libuuida这8个文件(可以一次性全部添加,不必一次添加一个),
并在右边的other linker options写上 -mwindows。
添加完以后应该是(前面的路径取决于编译器安装目录):
四、 测试代码:
到此已经设置完毕。
将工程里的maincpp文件的代码换成:
#include "graphicsh"int main(){
initgraph(640, 480); // 初始化为640480大小的窗口,这里和TC 略有区别
circle(200, 200, 100); // 画圆,圆心(200, 200),半径100
getch(); // 等待用户按键,按任意键继续
closegraph(); // 关闭图形界面
return 0;
}
构建,并运行,运行结果如下:
C语言中提供了库函数来画圆,函数名为circle
函数的头文件为 #include<graphicsh>
函数功能: circle()使用当前绘图色并以实线画一个完整的圆。
用法:该函数调用方式为void circle(int x,int y,int radius);
说明:参数x,y为圆心坐标,radius为圆半径,用像素个素表示。注意,调用circle()函数画圆时不用当前线型。
#include<stdioh>
#include<stdlibh>
#define N 9
#define XH (N/2-abs(N/2-i)+1)
void main() { int i,j;
for ( i=0;i<N;i++ ) {
for ( j=0;j<XH;j++ ) printf("");
printf("\n");
}
}
int main()
{
int q,w,e=1,r,c=0,k=1;
char o='',p=' ';
for(r=0;r<5;r++) /循环4行输出/
{
for(q=4;q>0;q--)
printf("%c",p);
for(w=0;w<e;w++)
printf("%c",o);
e++;
printf("\n");
}
for(q=0;q<10;q++) //输出整行
printf("%c",o);
printf("\n");
for(r=0;r<5;r++) //4行输出
{
for(w=0;w<k;w++)
printf("%c",p);
k++;
for(q=4;q>c;q--)
printf("%c",o);
c++;
printf("\n");
}
printf("\n");
return 0;
}
我所用到的变量似乎有些多了,看不懂请追问
#include<stdioh>
#include<graphicsh>
main()
{
int gm,gd=DETECT;
int a,T,X,R=100;
scanf("%d",&a);
T=200,
X=aT;
initgraph(&gd,&gm,"");/双引号内填bgi文件夹在你电脑中的目录,如在c:\tc\bgi,且c文件在c:\tc\programfiles下,则填"\\bgi"/
circle(X,T,R);/R为半径/
getch();
closegraph();
}
#include<stdioh>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先打印上边的四行
{
for(j=1;j<=4-i;j++) //控制要打印的空格数量
printf(" ");
for(k=1;k<=2i-1;k++) //控制要打印的星号数
printf("");
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++) //控制要打印的空格数
printf(" ");
for(k=1;k<=7-2i;k++) //控制要打印的星号数
printf("");
printf("\n");
}
}
扩展资料:
for循环
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
表达式
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
表达式3为循环控制变量修改表达式,它使for循环趋向结束。
循环体语句是在循环控制条件成立的情况下被反复执行的语句。
但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。
先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
do
do循环结构,do 1 while⑵;的执行顺序是1->2->1循环,2为循环条件。
while
while循环结构,while(1) 2; 的执行顺序是1->2->1循环,1为循环条件
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
参考资料:
以上就是关于C语言中用VC++怎么编图案全部的内容,包括:C语言中用VC++怎么编图案、怎么用codeblocks编写c语言的图形程序、c语言编程一个画图软件(画板)该如何编写求大佬帮助,谢谢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)