Ⅰ 怎么用codeblocks编写c语言的图形程序
在codeblocks中,可以通过集成EGE库,来实现C语言图形程序的编写模段,具体方式如下:
一、安装:
1、下载ege安装包;
2、将安装包解压;
3、把压配喊缩包里include目录下所有文件,复制到编译器安装目录下的include目录内,例如D:MinGWinclude;
4、把lib目录下对应编译器名目录下的文件,复制到编译器安装目录下的lib目录内,例如D:MinGWlib。
二、建立工程:
只要第1步做好以后,其实已经安装好ege了,剩下的只是配置build option.
点击file-new-projects,选择Console application:
Ⅱ c语言怎么做图形界面
C语言可以做图形界面。C语言中要做图形见面,首先需要设置为图形模式,确定显卡类型,对屏幕进行初始猛弯乱化等等。相关的函数如下:
1.detectgraph()显示卡检测函数
2.initgraph()图形初始化函数
3.getdrivername()获取图形驱动程序名的指针
4.getgraphmode()获取图形模式函数
5.getmoderange()获取模式值范围函数
6.getmaxmode()获取最大显示模式函数闹凯
7.getmodename()获取显示模式名函数
8.graphdefaults()图形设置复位缺省值函数
9.setgraphmode()设置图形模式函数
10.restorecrtmode()恢复文本显示模式函数
11.graphresult()图形操作结果函数
12.grpaherrormsg()图形错误信息函数
13.setgraphbufsize()设置图形缓冲区大小函数
14.setactivepage()设置可输出显示页函数
15.setvisualpage()设置可见枝档显示页数
16.closegraph()关闭图形模式函数希望以上回答对你有帮助,谢谢。
Ⅲ 如何用c语言作出有图形界面的小程序
那需要学VC。确切的说是要学MFC。
MFC编图形化程序也是很麻烦的,难学,繁琐。
其实你可以再学Java或者C#。
Java本身也不适合做图形化应用程序,但是比MFC要简单得多。
C#则是当前做图形化程序最简单高效的了,不需要编程单靠鼠标拖拽就能做出图形界面。特别是C#的WPF图形框架更是把图形化编程简化如神行到了极限。
所以强烈建议学C#。
C#语言综合Java和C++的优点。Java和C++都源自C语言。所以学C#之前最好先学一下C++,C、C++、C#可以说是一脉相承,向下兼容的。
总之,学图形化编程比较好的顺序是:
C(结构化语言渣哗,入门)-> C++(面向对象语言,铺垫) -> C# (享受快速图形化开发吧)
忘解释那几个名词了,补上:
集成瞎姿开发环境:就是IDE,一类开发工具。
你的代码本来可以直接在记事本里写完,然后命令行下调用编译器编译就能执行了。
集成开发环境将代码编辑、代码编译执行、代码调试功能集成在一起(甚至集成更多功能),使开发人员的开发变得更加高效。比如Visual C++ 6.0就是一个集成开发环境,还有Eclipse、CodeBlocks、Visual Studio等都是。
Ⅳ c语言 怎么做图形界面的程序
这是最简单的界面程序://c++.cpp:定义应用程序的入口点。
//
#include"stdafx.h"
#include"c++.h"
#defineMAX_LOADSTRING100
//全局变量:
HINSTANCEhInst; //当前实例
TCHARszTitle[MAX_LOADSTRING]; //标题栏文本
TCHARszWindowClass[MAX_LOADSTRING]; //主窗口类名
//此代码模块中包含的函蠢没没数的前向声明:
ATOM MyRegisterClass(HINSTANCEhInstance);
BOOL InitInstance(HINSTANCE,int);
LRESULTCALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
INT_PTRCALLBACK About(HWND,UINT,WPARAM,LPARAM);
intAPIENTRY_tWinMain(HINSTANCEhInstance,
HINSTANCEhPrevInstance,
察中LPTSTRlpCmdLine,
intnCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
//TODO:在此放置代码。
MSGmsg;
HACCELhAccelTable;
//初始化全局字符串
LoadString(hInstance,IDS_APP_TITLE,szTitle,MAX_LOADSTRING);
LoadString(hInstance,IDC_C,szWindowClass,MAX_LOADSTRING);
MyRegisterClass(hInstance);
//执行应用程序初始化:
if(!InitInstance(hInstance,nCmdShow))
{
returnFALSE;
}
hAccelTable=LoadAccelerators(hInstance,MAKEINTRESOURCE(IDC_C));
//主消息循环:
while(GetMessage(&msg,NULL,0,0))
{
if(!TranslateAccelerator(msg.hwnd,hAccelTable,&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return(int)msg.wParam;
}
//
//函数带纳:MyRegisterClass()
//
//目的:注册窗口类。
//
//注释:
//
//仅当希望
//此代码与添加到Windows95中的“RegisterClassEx”
//函数之前的Win32系统兼容时,才需要此函数及其用法。调用此函数十分重要,
//这样应用程序就可以获得关联的
//“格式正确的”小图标。
//
ATOMMyRegisterClass(HINSTANCEhInstance)
{
WNDCLASSEXwcex;
wcex.cbSize=sizeof(WNDCLASSEX);
wcex.style =CS_HREDRAW|CS_VREDRAW;
wcex.lpfnWndProc =WndProc;
wcex.cbClsExtra =0;
wcex.cbWndExtra =0;
wcex.hInstance =hInstance;
wcex.hIcon =LoadIcon(hInstance,MAKEINTRESOURCE(IDI_C));
wcex.hCursor =LoadCursor(NULL,IDC_ARROW);
wcex.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName =MAKEINTRESOURCE(IDC_C);
wcex.lpszClassName =szWindowClass;
wcex.hIconSm =LoadIcon(wcex.hInstance,MAKEINTRESOURCE(IDI_SMALL));
returnRegisterClassEx(&wcex);
}
//
//函数:InitInstance(HINSTANCE,int)
//
//目的:保存实例句柄并创建主窗口
//
//注释:
//
//在此函数中,我们在全局变量中保存实例句柄并
//创建和显示主程序窗口。
//
BOOLInitInstance(HINSTANCEhInstance,intnCmdShow)
{
HWNDhWnd;
hInst=hInstance;//将实例句柄存储在全局变量中
hWnd=CreateWindow(szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);
if(!hWnd)
{
returnFALSE;
}
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
returnTRUE;
}
//
//函数:WndProc(HWND,UINT,WPARAM,LPARAM)
//
//目的:处理主窗口的消息。
//
//WM_COMMAND -处理应用程序菜单
//WM_PAINT -绘制主窗口
//WM_DESTROY -发送退出消息并返回
//
//
LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
intwmId,wmEvent;
PAINTSTRUCTps;
HDChdc;
switch(message)
{
caseWM_COMMAND:
wmId=LOWORD(wParam);
wmEvent=HIWORD(wParam);
//分析菜单选择:
switch(wmId)
{
caseIDM_ABOUT:
DialogBox(hInst,MAKEINTRESOURCE(IDD_ABOUTBOX),hWnd,About);
break;
caseIDM_EXIT:
DestroyWindow(hWnd);
break;
default:
returnDefWindowProc(hWnd,message,wParam,lParam);
}
break;
caseWM_PAINT:
hdc=BeginPaint(hWnd,&ps);
//TODO:在此添加任意绘图代码...
EndPaint(hWnd,&ps);
break;
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hWnd,message,wParam,lParam);
}
return0;
}
//“关于”框的消息处理程序。
INT_PTRCALLBACKAbout(HWNDhDlg,UINTmessage,WPARAMwParam,LPARAMlParam)
{
UNREFERENCED_PARAMETER(lParam);
switch(message)
{
caseWM_INITDIALOG:
return(INT_PTR)TRUE;
caseWM_COMMAND:
if(LOWORD(wParam)==IDOK||LOWORD(wParam)==IDCANCEL)
{
EndDialog(hDlg,LOWORD(wParam));
return(INT_PTR)TRUE;
}
break;
}
return(INT_PTR)FALSE;
}
Ⅳ 怎样可以自己制作图片,用什么软件
我做这行,所以你说的这些我也都知道,但是这么打一篇子来,会要人老命的。简单说说吧~·
Photoshop 和 CorelDRAW 他们都是制图软件一个是位图制作软件更有利于设计发挥,橡迟另一个是矢量图制作软件,更有利于印刷拼接和文字处理。·如果架构一图像(或图形)工作室,需要的软件和仪器都很多,首先要知道自己做的是3D图形工作室还是平面工作室,再高些甚至可能用到非线编辑机。首先一部刻录机和在一个局域网内3台以上的电脑是必备的,一个电源箱防止停电。(如果你只要做一个插画设计师有个一个笔记本电脑就可以了)再其次,软件除了上面所说的,比如说还有排版的软件,还有一些制作名片的软件比如说蒙泰,illustrator也是很常用的。·至于图层这就应该联系到空间学,每个物体之间的暗喻都是存在的,不同的颜色会传达不同的情感,就像人一样,层次和块的大小也是表达情感的主要方式。而在Photoshop里层更像是一种特效工具,利用他可以达到更多的让人目绚的效果。层更像是在园艺梁返李者的角色。有了层的出现才有了精神世界的交流。·至于路径在CorelDRAW里调节性应该更强一些,比起Photoshop那种僵硬的操作,PS中那是个让人头疼的问题,大量烦琐的操作不如在CorelDRAW里来的更简单一些,而很多软件之间的路径是互通的,比方说PS在导入里就有导入路径这种功能。我现在都是在网上直接“当”这些路径文件直接使用很少会自己动手去画了。·通道,这是由印刷而诞生的名词,一些老式的排版软件在印刷厂里一直沿用至今,因为他们是为通道而生的,也是最了解通道的“人”。通道是颜色的诞生地,当然我们也可以通过建立的手段,让更多专色通道的出现,普通的印刷CMYK应该是最流行的通道模式了,我们做图片的时候,也可以利用通道来做一些单色的调整。或者RGB这样光色原理的通道更适用与网络。LAB更适用与扫描仪这样的东东,因为他不会丢失颜色。至于专色通道一般采用与高级的印刷品,应用与特殊的油墨,如我们长见的人民币印刷。·再说说色制,其实没有必要说的那么烦琐,简单点说就是同一色系中不同颜色的数量,单色机采用的色制有深灰,淡灰,黑白。这样就可以简单的显示出复杂的画面效果。再例如世闭说,显示器就是利用RGB三原色,在屏幕中以三角形反射出不同强度的光来显示画面。我们也可以手动调节某个光的辐射强度,来使屏幕达到视觉中更理想的效果。·至于图象的分辨率,用术语来说就是:用于量度位图图像内数据量多少的一个参数。通常表示成ppi(每英寸像素)。包含的数据越多,图形文件的长度就越大,也能表现更丰富的细节。在日常中网络上的分辨率普遍采用72或96像素,印刷中通常使用为300像素。至于你说的怎样在各种仪器中去衡量他,就如我上面所说,看你想要做什么了。在PS中改变分辨率很简单,在新建一个文件的时候就有分辨率的设置,或者在已经打开的文件框上方有一个显示文件名的信息条,再上面点右键,选图象大小即可调整。·至于保存照片的格式有很多,但最普遍的是JPG、TIFF和BMP这三种。至于保存的软件有很多种如系统自带的最简单的“画图”或ACDEE这样的看图软件,又或复杂的PS都可以保存图片。·网络中使用的图片格式最常见的为GIF或JPG,你在保存的时候选RGB色,存为这两种格式即可。·至于通道我上面已经说过一些,通道在PS中可以调整每个颜色的多少以外,我们还可以利用PS中的通道做各种各样的效果,例如对单一颜色的选取,通过新建通道制作雕刻字等等,不过随着PS功能越来越完善,通道已经渐渐退出了我们的视线。·图形的格式,这个用的久了自然就会有自己的心得。我在网上直接摘了这样的详细资料,你看一下吧文件格式是一种将文件以不同方式进行保存的格式。Photoshop支持几十种文件格式,因此能很好地支持多种应用程序。在Photoshop中,常见的格式有PSD、BMP、PDF、JPEG、GIF、TGA、TIFF等等。1. PSD格式PSD格式是Photoshop的固有格式,PSD格式可以比其他格式更快速地打开和保存图像,很好的保存层、通道、路径、蒙版以及压缩方案不会导致数据丢失等。但是,很少有应用程序能够支持这种格式。2、BMP格式BMP(Windows Bitmap)格式是微软开发的Microsoft Pain的固有格式,这种格式被大多数软件所支持。BMP格式采用了一种叫RLE的无损压缩方式,对图像质量不会产生什么影响。3、PDF格式PDF(Portable Document Format)是由Adobe Systems创建的一种文件格式,允许在屏幕上查看电子文档。PDF文件还可被嵌入到Web的HTML文档中。4、JPEG格式JPEG(由JointExperts Group缩写而成,意为联合图形专家组)是我们平时最常用的图像格式。它是一个最有效、最基本的有损压缩格式,被极大多数的图形处理软件所支持。JPEG格式的图像还广泛用于网页的制作。如果对图像质量要求不高,但又要求存储大量图片,使用JPEG无疑是一个好办法。但是,对于要求进行图像输出打印,最好不使用JPEG格式,因为它是以损坏图像质量而提高压缩质量的。5、GIF格式GIF格式是输出图像到网页最常采用的格式。GIF采用LZW压缩,限定在256色以内的色彩。GIF格式以87a和89a两种代码表示。GIF87a严格支持不透明像素。而GIF89a可以控制那些区域透明,因此,更大地缩小了GIF的尺寸。如果要使用GIF格式,就必须转换成索引色模式(Indexed Color),使色彩数目转为256或更少。6、TGA格式TGA(Targa)格式是计算机上应用最广泛的图象文件格式,它支持32位。7、TIFF格式TIFF(Tag Image File Format,意为有标签的图像文件格式)是Als在Mac初期开发的,目的是使扫描图像标准化。它是跨越Mac与PC平台最广泛的图像打印格式。TIFF使用LZW无损压缩方式,大大减少了图像尺寸。另外,TIFF格式最令人激动的功能是可以保存通道,这对于你处理图像是非常有好处的。·滤镜:滤镜是 PhotoShop 中功能最丰富、效果最奇特的工具之一。滤镜是通过不同的方式改变象素数据,以达到对图象进行抽象、艺术化的特殊处理效果。photoshop 滤镜可以分为三种类型:内阙滤镜、内置滤镜(自带滤镜)、外挂滤镜(第三方滤镜)。我们最常用的外挂滤镜是KTP和水晶糖果,KTP最早是以闪电和其他一系列的逼真特效制作而出名的,水晶糖果最擅长的也如他的名字一样,水珠和玻璃~。至于内置的也有很多,风格化,晶格化,龟裂纹,很多很多,自己多运用看看,会找出很多只属于自己的东西。至于从7。0以后又推出的许多新的滤镜,液化等等,这些都是书本上所不能解释的,都需要自己漫漫的去理解才可以。最后这两部分有点漏水的感觉,很多术语都是从网上摘的见量,实在太累了,写不下去了。希望对你在设计之路上有所帮助。