怎么用vc6.0画图
我是一名新手,但是现在迫切需要用c语言画个简单的图,我已经下载了EasyX20140321(beta)软件,网上说要什么控制台项目,到底怎么弄,越详细越好,谢谢大神,我只...
我是一名新手,但是现在迫切需要用c语言画个简单的图,我已经下载了EasyX 20140321(beta)软件,网上说要什么控制台项目,到底怎么弄,越详细越好,谢谢大神,我只有四十分了。
展开
3个回答
2016-12-22
北京瑞星信息技术股份有限公司
瑞星公司主营业务为信息安全整体解决方案的研发、销售及相关增值服务。公司自成立以来一直专注于信息安全领域,以优质的产品和专业的“安全+”服务,向政府、企业及个人提供各类安全服务,帮助所有用户。
向TA提问
关注
展开全部
实现一个简单绘图。
#include <graphics.h> /* 绘图库头文件,绘图语句需要*/
#include <conio.h> /* 控制台输入输出头文件,getch()语句需要*/
void main() { initgraph(640, 480); /* 初始化640x480的绘图屏幕*/
line(200, 240, 440, 240); /* 画线(200,240) - (440,240) */
line(320, 120, 320, 360); /* 画线(320,120) - (320,360) */
getch(); /* 按任意键*/
closegraph(); /* 关闭绘图屏幕*/
说明:
1. 创建的绘图屏幕640x480,表示横向有640个点,纵向有480个点。注意:左上角是原点(0,0),也就是说,y轴和数学的y轴是相反的。
2. getch实现按任意键功能,按任意键后,程序继续执行。否则,程序会立刻执行closegraph以至于看不到绘制的内容。
#include <graphics.h> /* 绘图库头文件,绘图语句需要*/
#include <conio.h> /* 控制台输入输出头文件,getch()语句需要*/
void main() { initgraph(640, 480); /* 初始化640x480的绘图屏幕*/
line(200, 240, 440, 240); /* 画线(200,240) - (440,240) */
line(320, 120, 320, 360); /* 画线(320,120) - (320,360) */
getch(); /* 按任意键*/
closegraph(); /* 关闭绘图屏幕*/
说明:
1. 创建的绘图屏幕640x480,表示横向有640个点,纵向有480个点。注意:左上角是原点(0,0),也就是说,y轴和数学的y轴是相反的。
2. getch实现按任意键功能,按任意键后,程序继续执行。否则,程序会立刻执行closegraph以至于看不到绘制的内容。
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
2015-04-04 · 知道合伙人互联网行家
关注
展开全部
声明在:Wingdi.h; Windows.h 你学的TC和VC事不一样的,要画图的话要用到DC的,而DC要用到窗口的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一、画一个红色边框的矩形
1、创建一个MFC实例,选择基于对话框,其他默认。
2、在CTestDlg3Dlg类中找到,OnPaint()函数。
3、在else后面添加如下语句,注意加在CDialog::OnPaint();后面。
CClientDC dc( this ); //取设备
CPen pen; // 定义画笔
pen.CreatePen( PS_SOLID,10,RGB(255,0,0) ); //创建画笔类型
dc.SelectObject ( pen ); //设备上选择画笔对象
dc.MoveTo( 0,0 );
dc.LineTo( 100,0 );
dc.LineTo( 200,200 );
dc.LineTo( 200,200 );
二、画一个带三维效果的矩形框
1、创建一个CMyButton类
结果如下:
申明部分(MyButton.h):
class CMyButton
{
public:
int x0,y0; //起始点坐标
int w,h; //矩形的宽度和高度
int thick; //三维效果厚度
COLORREF clr; //填充色彩
void draw( CClientDC* ); //绘制函数
CMyButton();
CMyButton(int,int,int,int); //构造函数
virtual ~CMyButton();
};
定义部分(Mybutton.cpp):
// MyButton.cpp: implementation of the CMyButton class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "testDlg3.h"
#include "MyButton.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMyButton::CMyButton()
{
}
CMyButton::CMyButton(int x1,int y1,int w1,int h1)
{
x0 = x1;
y0 = y1;
w = w1;
h = h1;
}
CMyButton::~CMyButton()
{
}
void CMyButton::draw( CClientDC *dc)
{
CRect rect(x0,y0,w+x0,h+y0); // 创建矩形对象
CBrush brush; // 创建画刷对象
brush.CreateSolidBrush( clr );
dc->FillRect( &rect, &brush);
CPen lightPen;
lightPen.CreatePen( PS_SOLID,thick,RGB(200,255,200) );
dc->SelectObject( lightPen );
dc->MoveTo( x0+w,y0 );
dc->LineTo( x0,y0 );
dc->LineTo( x0,y0+h);
CPen darkPen;
darkPen.CreatePen( PS_SOLID,thick,RGB(10,20,20) );
dc->SelectObject( darkPen );
dc->MoveTo( x0,y0+h );
dc->LineTo( x0+w,y0+h );
dc->LineTo( x0+w,y0);
}
2、类的调用方式:
同样是在CTestDlg3Dlg类中找到,OnPaint()函数。
在else后面添加如下语句。
CDialog::OnPaint();
CClientDC dc( this );
CMyButton btn(50,50,100,50);
btn.clr = RGB(155,200,155);
btn.thick=3;
btn.draw( &dc );
三、在VC6.0中使用GDI+双缓冲高效绘图
GDI+的特色为:渐变画刷,独立路径对象,矩阵对象,Alpha Blending,多格式图片支持等等。
Graphics g(pDC->m_hDC);//创建Graphics对象。
Bitmap CacheImage(rect.Width(),rect.Height()); //依窗口大小创建内存画布。
Graphics buffer(&CacheImage);//Gaphics对象引用内存画布。
buffer.Clear(Color::White);//清除内存画布并以白色填充,当然也可以是其它颜色。
Pen pen(Color::Red,1);//创建画笔。
buffer.DrawLine(&pen,0,0,100,300);//在内存画布中绘画。
g.DrawImage(&CacheImage, 0, 0);//将内存画布贴到屏幕。绘画结束。
1、创建一个MFC实例,选择基于对话框,其他默认。
2、在CTestDlg3Dlg类中找到,OnPaint()函数。
3、在else后面添加如下语句,注意加在CDialog::OnPaint();后面。
CClientDC dc( this ); //取设备
CPen pen; // 定义画笔
pen.CreatePen( PS_SOLID,10,RGB(255,0,0) ); //创建画笔类型
dc.SelectObject ( pen ); //设备上选择画笔对象
dc.MoveTo( 0,0 );
dc.LineTo( 100,0 );
dc.LineTo( 200,200 );
dc.LineTo( 200,200 );
二、画一个带三维效果的矩形框
1、创建一个CMyButton类
结果如下:
申明部分(MyButton.h):
class CMyButton
{
public:
int x0,y0; //起始点坐标
int w,h; //矩形的宽度和高度
int thick; //三维效果厚度
COLORREF clr; //填充色彩
void draw( CClientDC* ); //绘制函数
CMyButton();
CMyButton(int,int,int,int); //构造函数
virtual ~CMyButton();
};
定义部分(Mybutton.cpp):
// MyButton.cpp: implementation of the CMyButton class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "testDlg3.h"
#include "MyButton.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMyButton::CMyButton()
{
}
CMyButton::CMyButton(int x1,int y1,int w1,int h1)
{
x0 = x1;
y0 = y1;
w = w1;
h = h1;
}
CMyButton::~CMyButton()
{
}
void CMyButton::draw( CClientDC *dc)
{
CRect rect(x0,y0,w+x0,h+y0); // 创建矩形对象
CBrush brush; // 创建画刷对象
brush.CreateSolidBrush( clr );
dc->FillRect( &rect, &brush);
CPen lightPen;
lightPen.CreatePen( PS_SOLID,thick,RGB(200,255,200) );
dc->SelectObject( lightPen );
dc->MoveTo( x0+w,y0 );
dc->LineTo( x0,y0 );
dc->LineTo( x0,y0+h);
CPen darkPen;
darkPen.CreatePen( PS_SOLID,thick,RGB(10,20,20) );
dc->SelectObject( darkPen );
dc->MoveTo( x0,y0+h );
dc->LineTo( x0+w,y0+h );
dc->LineTo( x0+w,y0);
}
2、类的调用方式:
同样是在CTestDlg3Dlg类中找到,OnPaint()函数。
在else后面添加如下语句。
CDialog::OnPaint();
CClientDC dc( this );
CMyButton btn(50,50,100,50);
btn.clr = RGB(155,200,155);
btn.thick=3;
btn.draw( &dc );
三、在VC6.0中使用GDI+双缓冲高效绘图
GDI+的特色为:渐变画刷,独立路径对象,矩阵对象,Alpha Blending,多格式图片支持等等。
Graphics g(pDC->m_hDC);//创建Graphics对象。
Bitmap CacheImage(rect.Width(),rect.Height()); //依窗口大小创建内存画布。
Graphics buffer(&CacheImage);//Gaphics对象引用内存画布。
buffer.Clear(Color::White);//清除内存画布并以白色填充,当然也可以是其它颜色。
Pen pen(Color::Red,1);//创建画笔。
buffer.DrawLine(&pen,0,0,100,300);//在内存画布中绘画。
g.DrawImage(&CacheImage, 0, 0);//将内存画布贴到屏幕。绘画结束。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |