问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用C语言画基本图形

发布网友 发布时间:2022-04-23 11:23

我来回答

5个回答

热心网友 时间:2023-10-12 06:25

下面举一个用drawpoly()函数画箭头的例子。#include
#include
int main()
{
int gdriver, gmode, i;  
int arw[16]={200,102,300,102,300,107,330,<br/>100,300,93,300,98,200,98,200,102};
gdriver=DETECT;
initgraph(&gdriver, &gmode, "c:\\caic\\bgi");
setbkcolor(BLUE);
cleardevice();
setcolor(12); /*设置作图颜色*/
drawpoly(8, arw); /*画一箭头*/
getch();
closegraph();
return 0;
}
设定线型函数
  在没有对线的特性进行设定之前,TURBO C 用其默认值,即一点宽的实线,但TURBO C 也提供了可以改变线型的函数。线型包括:宽度和形状。其中宽度只有两种选择:一点宽和三点宽。而线的形状则有五种。下面介绍有关线型的设置函数。
void far setlinestyle(intlinestyle,unsigned upattern,int thickness); 该函数用来设置线的有关信息,其中linestyle是线形状的规定,
见下表:
有关线的形状(linestyle)
━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数 数值 含义
─────────────────────────
SOLID_LINE 0 实线
DOTTED_LINE 1 点线
CENTER_LINE 2 中心线
DASHED_LINE 3 点画线
USERBIT_LINE 4 用户定义线
━━━━━━━━━━━━━━━━━━━━━━━━━
有关线宽(thickness)
thickness是线的宽度,见下表。
━━━━━━━━━━━━━━━━━━━━━━━━━
符号常数 数值 含义
─────────────────────────
NORM_WIDTH 1 一点宽
THIC_WIDTH 3 三点宽
━━━━━━━━━━━━━━━━━━━━━━━━━
  对于upattern,只有linestyle选USERBIT_LINE 时才有意义 (选其它线型,uppattern取0即可)。此进uppattern的16位二进制数的每一位代表一个象元,如果那位为1,则该象元打开,否则该象元关闭。 void far getlinesettings(struct linesettingstypefar *lineinfo);该函数将有关线的信息存放到由lineinfo 指向的结构中,表中linesettingstype的结构如下:
 struct linesettingstype
 {
 int linestyle;
 unsigned upattern;
 int thickness;
 }

热心网友 时间:2023-10-12 06:26

我先给个例子,#include <graphics.h>
#include<stdlib.h>
#include<stdio.h>
#include "conio.h"
#include"math.h"

void main()
{
int gdriver=DETECT,gmode; /*图形模式设定*/
char f;
int m,n,x,y,t;
int color;
x=320;y=240;
m=0;n=0;
initgraph(&gdriver,&gmode,"c: \\tc");
printf("qweadzxc stand for eight direction,p to exit,and the number stand for color when paint\n");
printf("input anykey to start\n");
getch();
printf("PLEASE INPUT THE COLOR\n");
scanf("%d",&color);
loop:
while(!kbhit())
{
putpixel(x,y,color);
x=x+m;y=y+n;
for(t=0;t<=50;t++)
delay(100);
}
f=getch();
if(f=='w'||f=='W')
{
m=0;n=-1;
goto loop;
}
if(f=='x'||f=='X')
{
m=0;n=1;
goto loop;
}
if(f=='a'||f=='A')
{
m=-1;n=0;
goto loop;
}
if(f=='d'||f=='D')
{
m=1;n=0;
goto loop;
}
if(f=='q'||f=='Q')
{
m=-1;n=-1;
goto loop;
}
if(f=='e'||f=='E')
{
m=1;n=-1;
goto loop;
}
if(f=='z'||f=='Z')
{
m=-1;n=1;
goto loop;
}
if(f=='c'||f=='C')
{
m=1;n=1;
goto loop;
}
if(f==' ')
{
m=0;n=0;
getch();
goto loop;
}
if(f=='p'||f=='P')
goto end;
if(f=='s'||f=='S')
{
printf("please input the color you want to set\n");
scanf("%d",&color);
goto loop;
}
else
{
printf("ERROR!\n");
goto loop;
}
end:
getch();
closegraph(); /*退出图形模式*/
}

热心网友 时间:2023-10-12 06:26

画出一个图形
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int driver=VGA,mode=VGAHI;
int i,num=15,top=50;
int left=20,right=50;
initgraph(&driver,&mode,"");
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,right,left);
ellipse(250,250,0,360,20,top);
rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));
right+=5;
left+=5;
top+=10;
}
getch();
}
画椭圆
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int x=260,y=160,driver=VGA,mode=VGAHI;
int num=20,i;
int top,bottom;
initgraph(&driver,&mode,"");
top=y-30;
bottom=y-30;
for(i=0;i<num;i++)
{
ellipse(x,250,0,360,top,bottom);
top-=5;
bottom+=5;
}
getch();
}
画点
#include "stdio.h"
#include "conio.h"
#include "graphics.h"
main()
{
int i,j,driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=50;i<=230;i+=20)
for(j=50;j<=230;j++)
putpixel(i,j,1);
for(j=50;j<=230;j+=20)
for(i=50;i<=230;i++)
putpixel(i,j,1);
getch();
}
他们都有相应的函数的

热心网友 时间:2023-10-12 06:27

最基本的图形可以用一个叫easyx的库
3d可以考虑opengl

热心网友 时间:2023-10-12 06:27

那你不如去学OPENGL开发语言,更简单
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 在Word中绘制图形应注意哪几点? 在flash中要绘制基本的几何形状可以使用的绘图工具是 AI教程:[2]如何绘制基本图形 微信朋友圈设为私密照片了,这个朋友圈还能看到吗? 车载gps怎么连接连接电脑 GPS是什么的缩写?英文全称是什么? 北斗一号指挥机为什么不能看到用户机的位置?必须用户机定位一次才可以在指挥机上看到? 三星w2016手机屏幕如何拆卸 ? 手机换过屏幕到底算不算拆修? 手机外屏坏了,想换,不知道怎么拆下来?求专家帮助? 苹果手机拆机拆屏幕排线冒火星了,对手机有什么影响? 请问 手机 拆机 安装屏 都需要哪些工具? 手机屏怎样拆解 修手机屏不用取卡槽吧? 换手机外屏需要拆手机后盖吗? 5s怎样拆卸手机外屏 怎么使用df命令查看Linux磁盘空间 如何查看一台机器上各个用户占用空间情况 linux Linux 查看用户所占用空间命令是什么的,非常感谢的,急用的 柚子皮的功效如何 柚子皮果脯的 如何利用EXCEL的自选图形绘制常见的图形对象 Flash怎么使用钢笔工具绘制基础图形 基础平面图的绘制有哪些步骤? solidworks画草图画完基本图形怎么画 请使用所学的基本图形绘制函数(如:直线、圆、矩形等)绘制一个有意义的图形? 天正v8.0和v6.0哪个好用 天正v6.0闪退怎么解决 天正v6.0怎么在布局增加视口 天正V6.0工具不能用了? 天正V6用CAD2020打开好多未知命令,用CAD2014打开就是好的,为什么? 天正v6 能在xp用吗 天正v6.0安装成功后cad打开还是没有标注? 天正v6.0支持什么版本的cad cad2016配合t20v6可以嘛 T20天正电气V6.0软件打开之后怎么是CAD ps4到底是国行好还是港版日版好?坐等大神讲解 天正t20v6做法标注不能右对齐怎么解决? ps4国行的好,还是港版的好 我的天正V6.0为什么识别不到CAD快速看图? ps4国行和港版区别是什么,哪个好?