资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言draw函数画矩形 C语言画矩形

在C#中Draw()函数怎么用

用DrawCurve方法和DrawClosedCurve方法一样,用来绘制经过Point结构数组中每个点的闭合基数样条,但最后两个点之间不连线。常用的两个画线函数定义如下:

为景县等地区用户提供了全套网页设计制作服务,及景县网站建设行业解决方案。主营业务为成都做网站、成都网站设计、景县网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

l void DrawPolygon(Pen pen,Point[] points);

l void DrawPolygon(Pen pen,PointF[] points);

例子5_7_9:使用DrawCurve方法,绘制有4个元素的Point结构数组定义的闭合基数样条闭合曲线如下图,为主窗体Paint事件增加事件处理函数如下:

private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e)

{  Graphics g=this.CreateGraphics();

Pen pen1=new Pen(Color.Red,3);

Point[] p1=new Point[]

{  new Point(10,10),

new Point(60,40),

new Point(100,80),

new Point(60,100)

};

g.DrawCurve(pen1,p1);

}

用C语言画矩形

/* 旋转的立体椭球 */

#include graphics.h

#include math.h

#include conio.h

#define PI 3.14159

#define T PI/180

#define NN 36

#define DT PI/NN

#define DIST 0.8

#define R 190

static int n=1;

void trans(t,s)

float t[3];

float s[3][3];

{

s[0][0]=cos(t[1])*cos(t[2]); s[0][1]=cos(t[1])*sin(t[2]);

s[0][2]=-sin(t[1]);

s[1][0]=sin(t[0])*sin(t[1])*cos(t[2])-cos(t[0])*sin(t[2]);

s[1][1]=sin(t[0])*sin(t[1])*sin(t[2])+cos(t[0])*cos(t[2]);

s[1][2]=sin(t[0])*cos(t[1]);

s[2][0]=cos(t[0])*sin(t[1])*cos(t[2])+sin(t[0])*sin(t[2]);

s[2][1]=cos(t[0])*sin(t[0])*sin(t[2])-sin(t[0])*cos(t[2]);

s[2][2]=cos(t[0])*cos(t[1]);

}

void draw(m,da,db)

float m[3][3],da,db;

{

float f[3],f0 , x0,y0,x1,y1,x2,y2;

f[0]=R*sin(da)*cos(db); f[1]=R*sin(da)*sin(db);

f[2]=R*cos(da);

f0=f[0]*m[0][2]+f[1]*m[1][2]+f[2]*m[2][2];

if(f0=0) n=1;

else

{

x0=300.0;y0=165.0;

x2=(m[0][0]*f[0]+m[1][0]*f[1]+m[2][0]*f[2])+x0;

y2=(m[0][1]*f[0]+m[1][1]*f[1]+m[2][1]*f[2])*DIST+y0;

if(n==1) {n=2;x1=x2;y1=y2;}

else

{

line(x1,y1,x2,y2);

x1=x2;y1=y2;

}

}

}

main()

{

float d[3],r[3][3],ta,tb;

char k;

int gdriver=VGA,gmode=VGAMED, i,p=1;

initgraph(gdriver,gmode,"c:\\tc");

setbkcolor(BLACK);setcolor(GREEN);

d[1]=30*T; d[2]=10*T;

do{

for(i=0;i=361;i+=1)

{

k=kbhit();

if(k!=0)break;

setactivepage(p);

d[0]=i*T;

cleardevice();

trans(d,r);

for(tb=0.0;tbPI;tb+=DT)

{

n=1;

for(ta=0.0;ta2.1*PI;ta+=DT) draw(r,ta,tb);}

for(ta=0.0;taPI;ta+=DT)

{

n=1;

for(tb=0.0;tb2.1*PI;tb+=DT) draw(r,ta,tb);

}

setvisualpage(p);delay(150);p=1-p;

}

}

while(k==0);

getch();closegraph();

}

这是旋转椭球的

C语言画矩形!

修改rectangle(40,i,59,i+10); /*画出左边框*/这句呀!横坐标增加就可以了

C语言,windows程序在窗口上绘图

AngleArc 用一个连接弧画一条线

Arc 画一个圆弧

BeginPath 启动一个路径分支

CancelDC 取消另一个线程里的长时间绘图操作

Chord 画一个弦

CloseEnhMetaFile 关闭指定的增强型图元文件设备场景,并将新建的图元文件返回一个句柄

CloseFigure 描绘到一个路径时,关闭当前打开的图形

CloseMetaFile 关闭指定的图元文件设备场景,并向新建的图元文件返回一个句柄

CopyEnhMetaFile 制作指定增强型图元文件的一个副本(拷贝)

CopyMetaFile 制作指定(标准)图元文件的一个副本

CreateBrushIndirect 在一个LOGBRUSH数据结构的基础上创建一个刷子

CreateDIBPatternBrush 用一幅与设备无关的位图创建一个刷子,以便指定刷子样式(图案)

CreateEnhMetaFile 创建一个增强型的图元文件设备场景

CreateHatchBrush 创建带有阴影图案的一个刷子

CreateMetaFile 创建一个图元文件设备场景

CreatePatternBrush 用指定了刷子图案的一幅位图创建一个刷子

CreatePen 用指定的样式、宽度和颜色创建一个画笔

CreatePenIndirect 根据指定的LOGPEN结构创建一个画笔

CreateSolidBrush 用纯色创建一个刷子

DeleteEnhMetaFile 删除指定的增强型图元文件

DeleteMetaFile 删除指定的图元文件

DeleteObject 删除GDI对象,对象使用的所有系统资源都会被释放

DrawEdge 用指定的样式描绘一个矩形的边框

DrawEscape 换码(Escape)函数将数据直接发至显示设备驱动程序

DrawFocusRect 画一个焦点矩形

DrawFrameControl 描绘一个标准控件

DrawState 为一幅图象或绘图操作应用各式各样的效果

Ellipse 描绘一个椭圆,由指定的矩形围绕

EndPath 停止定义一个路径

EnumEnhMetaFile 针对一个增强型图元文件,列举其中单独的图元文件记录

EnumMetaFile 为一个标准的windows图元文件枚举单独的图元文件记录

EnumObjects 枚举可随同指定设备场景使用的画笔和刷子

ExtCreatePen 创建一个扩展画笔(装饰或几何)

ExtFloodFill 在指定的设备场景里,用当前选择的刷子填充一个区域

FillPath 关闭路径中任何打开的图形,并用当前刷子填充

FillRect 用指定的刷子填充一个矩形

FlattenPath 将一个路径中的所有曲线都转换成线段

FloodFill 用当前选定的刷子在指定的设备场景中填充一个区域

FrameRect 用指定的刷子围绕一个矩形画一个边框

GdiComment 为指定的增强型图元文件设备场景添加一条注释信息

GdiFlush 执行任何未决的绘图操作

GdiGetBatchLimit 判断有多少个GDI绘图命令位于队列中

GdiSetBatchLimit 指定有多少个GDI绘图命令能够进入队列

GetArcDirection 画圆弧的时候,判断当前采用的绘图方向

GetBkColor 取得指定设备场景当前的背景颜色

GetBkMode 针对指定的设备场景,取得当前的背景填充模式

GetBrushOrgEx 判断指定设备场景中当前选定刷子起点

GetCurrentObject 获得指定类型的当前选定对象

GetCurrentPositionEx 在指定的设备场景中取得当前的画笔位置

GetEnhMetaFile 取得磁盘文件中包含的一个增强型图元文件的图元文件句柄

GetEnhMetaFileBits 将指定的增强型图元文件复制到一个内存缓冲区里

GetEnhMetaFileDescription 返回对一个增强型图元文件的说明

GetEnhMetaFileHeader 取得增强型图元文件的图元文件头

GetEnhMetaFilePaletteEntries 取得增强型图元文件的全部或部分调色板

GetMetaFile 取得包含在一个磁盘文件中的图元文件的图元文件句柄

GetMetaFileBitsEx 将指定的图元文件复制到一个内存缓冲区

GetMiterLimit 取得设备场景的斜率限制(Miter)设置

GetNearestColor 根据设备的显示能力,取得与指定颜色最接近的一种纯色

GetObjectAPI 取得对指定对象进行说明的一个结构

GetObjectType 判断由指定句柄引用的GDI对象的类型

GetPath 取得对当前路径进行定义的一系列数据

GetPixel 在指定的设备场景中取得一个像素的RGB值

GetPolyFillMode 针对指定的设备场景,获得多边形填充模式

GetROP2 针对指定的设备场景,取得当前的绘图模式

GetStockObject 取得一个固有对象(Stock)

GetSysColorBrush 为任何一种标准系统颜色取得一个刷子

GetWinMetaFileBits 通过在一个缓冲区中填充用于标准图元文件的数据,将一个增强型图元文件转换成标准windows图元文件

InvertRect 通过反转每个像素的值,从而反转一个设备场景中指定的矩形

LineDDA 枚举指定线段中的所有点

LineTo 用当前画笔画一条线,从当前位置连到一个指定的点

MoveToEx 为指定的设备场景指定一个新的当前画笔位置

PaintDesk 在指定的设备场景中描绘桌面墙纸图案

PathToRegion 将当前选定的路径转换到一个区域里

Pie 画一个饼图

PlayEnhMetaFile 在指定的设备场景中画一个增强型图元文件

PlayEnhMetaFileRecord 回放单独一条增强型图元文件记录

PlayMetaFile 在指定的设备场景中回放一个图元文件

PlayMetaFileRecord 回放来自图元文件的单条记录

PolyBezier 描绘一条或多条贝塞尔(Bezier)曲线

PolyDraw 描绘一条复杂的曲线,由线段及贝塞尔曲线组成

Polygon 描绘一个多边形

Polyline 用当前画笔描绘一系列线段

PolyPolygon 用当前选定画笔描绘两个或多个多边形

PolyPolyline 用当前选定画笔描绘两个或多个多边形

Rectangle 用当前选定的画笔描绘矩形,并用当前选定的刷子填充

RoundRect 用当前选定的画笔画一个圆角矩形,并用当前选定的刷子在其中填充

SelectClipPath 将设备场景当前的路径合并到剪切区域里

SelectObject 为当前设备场景选择图形对象

SetArcDirection 设置圆弧的描绘方向

SetBkColor 为指定的设备场景设置背景颜色

SetBkMode 指定阴影刷子、虚线画笔以及字符中的空隙的填充方式

SetBrushOrgEx 为指定的设备场景设置当前选定刷子的起点

SetEnhMetaFileBits 用指定内存缓冲区内包含的数据创建一个增强型图元文件

SetMetaFileBitsEx 用包含在指定内存缓冲区内的数据结构创建一个图元文件

SetMiterLimit 设置设备场景当前的斜率限制

SetPixel 在指定的设备场景中设置一个像素的RGB值

SetPixelV 在指定的设备场景中设置一个像素的RGB值

SetPolyFillMode 设置多边形的填充模式

SetROP2 设置指定设备场景的绘图模式。与vb的DrawMode属性完全一致

SetWinMetaFileBits 将一个标准Windows图元文件转换成增强型图元文件

StrokeAndFillPath 针对指定的设备场景,关闭路径上打开的所有区域

StrokePath 用当前画笔描绘一个路径的轮廓。打开的图形不会被这个函数关闭

UnrealizeObject 将一个刷子对象选入设备场景之前,如刷子的起点准备用SetBrushOrgEx修改,则必须先调用本函数

WidenPath 根据选定画笔的宽度,重新定义当前选定的路径

用c语言画矩形

每行起始和结束字符均是你的第3个参数

矩形第1行和最后一行中间是第3个参数,其他行根据第4个参数决定是空格或者第3个参数

程序可以这样写:

...

for ( m=0;ma;m++ )

{

printf("%c",c); //第1列

if ( m==0 || m==a-1 ) //第1行和最后一行

for ( n=1;nb-1;n++ ) printf("%c",c);

else //中间的行

for ( n=1;nb-1;n++ ) if ( d==0 ) printf(" "); else printf("%c",c); //空心或否

printf("%c\n",c); //最后1列

}

或者可以写:

for ( m=0;ma;m++ )

{

printf("%c",c); //第1列

if ( m==0 || m==a-1 || d!=0) for ( n=1;nb-1;n++ ) printf("%c",c);

else for ( n=1;nb-1;n++ ) printf(" ");

printf("%c\n",c); //最后1列

}

C语言里经常有drawtxt,是什么意思?怎么用C语言编图像?

DrawText是windows环境的一个绘图函数,用于在一个矩形区域内绘制文字,绘制图像的话你需要学习平台相关或第三方的图形API


标题名称:c语言draw函数画矩形 C语言画矩形
浏览地址:http://cdkjz.cn/article/doopgss.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220