标题:求助!图形问题!
只看楼主
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
 问题点数:0 回复次数:15 
求助!图形问题!
各位好!请看看我的程序该怎么做。
#include<graphics.h>
#include<conio.h>
struct FF{
int left,top,right,bottom;
};
struct FF graph={100,100,400,400};
struct FF dot[31][31];
void draw_graph(struct FF *g);
void draw_dot(struct FF dot[30][30]); //绘制高亮方块函数
int main(void)
{
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"c:\\tc");
draw_graph(&graph);
draw_dot(dot);
getch();
closegraph();
return 0;
}
void draw_graph(struct FF *g)
{
int i;
setcolor(2);
rectangle(g->left,g->top,g->right,g->bottom);
for(i=1;i<=30;i++)
{
line(100,100+i*10-10,400,100+i*10-10);
line(100+i*10-10,100,100+i*10-10,400);
}
}
以上程序在屏幕中绘制一个900的方块,我想让900个方块每个都高亮(即方块左边和上边画白线,右边和下边画黑线,怎么做,我想用我上面的dot[31][31]二维数组。

搜索更多相关主题的帖子: void 400 include return bottom 
2006-03-04 18:09
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 

利用下面的方法我只能做出一行30个高亮方块,那位师傅能告诉我如何做900个呢?
#include<graphics.h>
#include<conio.h>
struct menu{
int left,top,right,bottom;
};
struct menu dot[31];
int main(void)
{
int gdriver=DETECT,gmode,i;
initgraph(&gdriver,&gmode,"c:\\tc");
dot[0].left=100;
dot[0].top=100;
dot[0].right=110;
dot[0].bottom=110;
for(i=1;i<=30;i++)
{
dot[i].left=dot[i-1].left+10;
dot[i].top=dot[i-1].top;
dot[i].right=dot[i-1].right+10;
dot[i].bottom=dot[i-1].bottom;
}
for(i=1;i<=30;i++)
{
setfillstyle(1,3);
bar(dot[i].left,dot[i].top,dot[i].right,dot[i].bottom);
setcolor(15);
line(dot[i].left,dot[i].top,dot[i].right,dot[i].top);
line(dot[i].left,dot[i].top,dot[i].left,dot[i].bottom);
setcolor(0);
line(dot[i].left,dot[i].bottom,dot[i].right,dot[i].bottom);
line(dot[i].right,dot[i].top,dot[i].right,dot[i].bottom);
}
getch();
return 0;
}


2006-03-04 18:20
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
此问题已经解决

2006-03-04 20:17
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
得分:0 

#include <Conio.h>
#include <graphics.h>
#define closegr closegraph

void Draw_diamond(int x1,int y1,int x2,int y2);//画一个高亮方块
void initgr(void)
{
int gd=DETECT,gm=0;
registerbgidriver(EGAVGA_driver);
initgraph(&gd,&gm,"");
}

main()
{
int i,j;
initgr();
for(i=0;i<31;i++)
for(j=0;j<31;j++)
Draw_diamond(100+j*10,100+i*10,110+j*10,110+i*10);

getch();
closegr();
}
void Draw_diamond(int x1,int y1,int x2,int y2)
{
setfillstyle(SOLID_FILL,3);
bar(x1,y1,x2,y2);
setcolor(15);
line(x1,y1,x2,y1);
line(x1,y1,x1,y2);
setcolor(0);
line(x2,y1,x2,y2);
line(x1,y2,x2,y2);
}


梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。
2006-03-04 20:31
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
得分:0 

我白忙了啊
不过我的写法要比你的简明


梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。
2006-03-04 20:33
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
谢谢你,不过你这种方法无法保存数组数据。

2006-03-04 20:43
moon
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-3-5
得分:0 
.....
发了这么多图形?
在研究图形吗?

tc图形早过时了!根本没人用,移植也不好!

喜欢图形编程, 建议openGL

ARM+LINUX嵌入式   -月满西楼
2006-03-05 15:34
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 
自以为是

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-05 21:48
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
得分:0 
以下是引用feng1256在2006-3-5 21:48:00的发言:
自以为是

秦始皇在过街的时候,百姓全都跪在地上,刘帮看见如此威风便说:大丈夫当如氏也。项羽更是豪气万千:当取而代之。后来如何。


2006-03-05 22:08
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 
以下是引用梦想中国在2006-3-5 22:08:00的发言:

秦始皇在过街的时候,百姓全都跪在地上,刘帮看见如此威风便说:大丈夫当如氏也。项羽更是豪气万千:当取而代之。后来如何。

我没说你,是说我楼上的,学东西总是要一步一步来,我就不相信他是一步到位的


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-03-05 22:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-48438-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.093698 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved