请问:我用Codeblocks或者DEV C++怎样才能画出图像?
请问:我用Codeblocks或者DEVC++怎样才能画出图像?以前用DOS下的BC3.1,使用GRAPHIC.H就能画图,但是DOS程序使用不方便。我现在用的Codeb...
请问:我用Codeblocks或者DEV C++怎样才能画出图像?
以前用DOS下的BC3.1,使用GRAPHIC.H就能画图,但是DOS程序使用不方便。
我现在用的Codeblocks编译器,请问有什么方法可以画图,我网上搜了下,有些人说用什么openGL.....,太复杂,我只需要画些简单的图,就比如说一些简单的函数曲线图等等,请帮帮忙吧?谢谢! 展开
以前用DOS下的BC3.1,使用GRAPHIC.H就能画图,但是DOS程序使用不方便。
我现在用的Codeblocks编译器,请问有什么方法可以画图,我网上搜了下,有些人说用什么openGL.....,太复杂,我只需要画些简单的图,就比如说一些简单的函数曲线图等等,请帮帮忙吧?谢谢! 展开
展开全部
1. 如果认为wxWidget,SDL 比较难,可以直接调用CodeBlocks,MinGW,Win SDK
2. CodeBlocks可以创建 Win32 GUI Project
3. resource.h
#include <windows.h>
// ID of Main Dialog
#define DLG_MAIN 101
4. resource.rc
#include "resource.h"
DLG_MAIN DIALOGEX 6, 5, 194, 106
CAPTION "Code::Blocks Template Dialog App"
FONT 8, "Tahoma"
5. main.cpp
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include<stdlib.h>
#include<string.h>
#include "resource.h"
HINSTANCE hInst;
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hDC; //定义指向设备描述表的句柄
HBRUSH hBrush; //定义指向画刷的句柄
HPEN hPen; //定义指向画笔的句柄
PAINTSTRUCT PtStr; //定义指向包含绘图信息的结构体变量
switch(uMsg)
{
case WM_PAINT:
hDC=BeginPaint(hwndDlg,&PtStr);
SetMapMode(hDC,MM_ANISOTROPIC); //设置映像模式
//设置画笔。采用系统预定定义的黑色画笔
hPen=(HPEN)GetStockObject(BLACK_PEN);
//定义画刷,采用系统预定义的深灰色画刷
hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH);
SelectObject(hDC,hBrush); //选择画刷
SelectObject(hDC,hPen); //选择画笔
RoundRect(hDC,50,120,100,200,15,15); //圆角矩形
//定义画刷,采用系统预定义的亮灰色画刷
hBrush=(HBRUSH)GetStockObject(LTGRAY_BRUSH);
SelectObject(hDC,hBrush); //选择画刷
Ellipse(hDC,150,50,200,150); //椭圆
//定义画刷,采用系统预定义的虚画刷
hBrush=(HBRUSH)GetStockObject(HOLLOW_BRUSH);
SelectObject(hDC,hBrush); //选择画刷
Pie(hDC,250,50,300,100,250,50,300,50); //饼形
EndPaint(hwndDlg,&PtStr); //结束绘图
return TRUE;
case WM_INITDIALOG:
return TRUE;
case WM_CLOSE:
EndDialog(hwndDlg, 0);
return TRUE;
}
return FALSE;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
hInst = hInstance;
// The user interface is a modal dialog box
return DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)DialogProc);
}
2. CodeBlocks可以创建 Win32 GUI Project
3. resource.h
#include <windows.h>
// ID of Main Dialog
#define DLG_MAIN 101
4. resource.rc
#include "resource.h"
DLG_MAIN DIALOGEX 6, 5, 194, 106
CAPTION "Code::Blocks Template Dialog App"
FONT 8, "Tahoma"
5. main.cpp
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include<stdlib.h>
#include<string.h>
#include "resource.h"
HINSTANCE hInst;
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HDC hDC; //定义指向设备描述表的句柄
HBRUSH hBrush; //定义指向画刷的句柄
HPEN hPen; //定义指向画笔的句柄
PAINTSTRUCT PtStr; //定义指向包含绘图信息的结构体变量
switch(uMsg)
{
case WM_PAINT:
hDC=BeginPaint(hwndDlg,&PtStr);
SetMapMode(hDC,MM_ANISOTROPIC); //设置映像模式
//设置画笔。采用系统预定定义的黑色画笔
hPen=(HPEN)GetStockObject(BLACK_PEN);
//定义画刷,采用系统预定义的深灰色画刷
hBrush=(HBRUSH)GetStockObject(DKGRAY_BRUSH);
SelectObject(hDC,hBrush); //选择画刷
SelectObject(hDC,hPen); //选择画笔
RoundRect(hDC,50,120,100,200,15,15); //圆角矩形
//定义画刷,采用系统预定义的亮灰色画刷
hBrush=(HBRUSH)GetStockObject(LTGRAY_BRUSH);
SelectObject(hDC,hBrush); //选择画刷
Ellipse(hDC,150,50,200,150); //椭圆
//定义画刷,采用系统预定义的虚画刷
hBrush=(HBRUSH)GetStockObject(HOLLOW_BRUSH);
SelectObject(hDC,hBrush); //选择画刷
Pie(hDC,250,50,300,100,250,50,300,50); //饼形
EndPaint(hwndDlg,&PtStr); //结束绘图
return TRUE;
case WM_INITDIALOG:
return TRUE;
case WM_CLOSE:
EndDialog(hwndDlg, 0);
return TRUE;
}
return FALSE;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
hInst = hInstance;
// The user interface is a modal dialog box
return DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)DialogProc);
}
展开全部
可以用Windows API,如PolyBezier(贝塞尔曲线)等,更多可以查询MSDN。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习vc吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学windows api吧!~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |