当前位置:首页 » 编程语言 » 如何用c语言画图
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何用c语言画图

发布时间: 2022-05-02 12:10:06

c语言如何画图

c语言画图 要选对 C语言编程工具。 目前最方便的是“习语言”,它能编译所有C代码,又能在C代码中使用它支持的绘图函数。
也可以使用二十年前的C语言编程工具来绘图,通常是在DOS窗口中绘图。

❷ 如何用C语言软件画图

matalab是我所知比较好的数学关系处理软件(当然简单一些的用excel就绰绰有余了),C语言软件中turbo-c显得就力不从心了,而且要进行比较复杂的编程语言转换,这个对于初学者太抽象了(命令式,可以类比于dos了··),如果你还是想借助c语言类软件的话,推荐用图形界面的软件,VB适于初学者,在之后可以选择学习VC(其中VC就已经足够强大了),另外要开发用于手机上的程式,就要学习java了··
(其他工具软件autoCAD也行,立体建模使用3d max 或者玛雅··)
以上仅供参考,希望对您有所帮助

❸ 如何用C语言设计一幅图片

看你想用什么工具喽,处理图片,首先要了解的是图片储存方式,最简单的要属bmp,也就是位图,win32自带有函数可以调用操作位图,它保存的是每个点的颜色与位置,当然二进制码没有你想的那么简单,使用的好像是调色板模式储存的。最厉害的压缩图片是jpg,现在很多高清的也用它,里面的代码方式暂时不知道,不过人家提供的函数接口,可以直接调用,最后处理图片时,最难的地方就在于放大或缩小,这里需要考虑的问题是仿真技术,往深了可能难懂,简单点的就是将放大或缩小后改变的区域用原有的颜色进行渐变。 想做出类似画图的软件,还是很麻烦的,画图画线都好说,主要难在添充颜色。

❹ C语言实现画图功能

tc/bc在dos下自带图形驱动,可以使用graphics.h 头文件调用标准C函数,如果坚决不用,请使用系统功能调用,自己编写绘图功能,DOS下使用int86()函数实现功能调用。有,你可以参考:

支持SVGA的高分辨率绘图通过调用中断 10h的4f功能来实现

主要分辨率设置代码

unsigned char set_SVGA_mode(int vmode)
{union REGS r;
r.x.ax=0x4f02;
r.x.bx=vmode;
int86(0x10,&r,&r);
return(r.h.ah);
}

void hide_text_cursor(void)
{union REGS r;
r.h.ah=1;
r.h.ch=32;
int86(0x10,&r,&r);
}

void selectpage(register char page)
{union REGS r;
r.x.ax=0x4f05;
r.x.bx=0;
r.x.dx=page;
int86(0x10,&r,&r);
}

void show_text_cursor(char size)
{union REGS r;
r.h.ah=1;
r.h.cl=size;
r.h.ch=7;
int86(0x10,&r,&r);
}

unsigned int get_SVGA_mode()
{union REGS r;
r.x.ax=0x4f03;
int86(0x10,&r,&r);
return(r.x.bx);
}
windows下本来就是图形界面,随便可以画,有关的概念是:Canvas,brush,color等类/参数,DrawLine/DrawArc函数/方法。

❺ C是如何做出图形的

c语言是函数语言,所以画图也离不开各种图形函数:下面举几个简单的例子:
=======================================
1./*学用circle画圆形*/
#include "graphics.h"
main()
{int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=0;i<=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
getch();
}
2.//line画直线
#include "graphics.h"
main()
{int driver,mode,i;
float x0,y0,y1,x1;
float j=12,k;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(GREEN);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i<=18;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
j=j+10;
}
x0=263;y1=275;y0=263;
for(i=0;i<=20;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0+5;
y0=y0+5;
y1=y1-5;
}
getch();
}
3.//用rectangle画方形
#include "graphics.h"
main()
{int x0,y0,y1,x1,driver,mode,i;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i<=18;i++)
{
setcolor(1);
rectangle(x0,y0,x1,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
}
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(150,40,"How beautiful it is!");
line(130,60,480,60);
setcolor(2);
circle(269,269,137);
}
===================================
更多有关c语言图形方面的函数及用法请参考c语言图形学的相关知识。

❻ C语言如何画图

framebuffer(帧缓冲)。
帧的最低数量为24(人肉眼可见)(低于24则感觉到画面不流畅)。
显卡与帧的关系:由cpu调节其数据传输速率来输出其三基色的配比。
三基色:RGB(红绿蓝)。

在没有桌面和图形文件的系统界面,可以通过C语言的编程来实现在黑色背景上画图!

用下面的代码,在需要的地方(有注释)适当修改,就能画出自己喜欢的图形!

PS:同样要编译运行后才能出效果。

  • #include <stdio.h>

  • #include <sys/mman.h>

  • #include <fcntl.h>

  • #include <linux/fb.h>

  • #include <stdlib.h>

  • #define RGB888(r,g,b) ((r & 0xff) <<16 | (g & 0xff) << 8 | (b & 0xff))

  • #define RGB565(r,g,b) ((r & 0x1f) <<11 | (g & 0x3f) << 5 | (b & 0x1f))

  • int main()

  • {

  • int fd = open("/dev/fb0", O_RDWR);

  • if(fd < 0){

  • perror("open err. ");

  • exit(EXIT_FAILURE);

printf("xres: %d ", info.xres);

printf("yres: %d ", info.yres);

printf("bits_per_pixel: %d ", info.bits_per_pixel);

size_t len = info.xres*info.yres*info.bits_per_pixel >> 3;

unsigned long* addr = NULL;

addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);

if(addr == (void*)-1){

perror("mmap err. ");

❼ 如何用c语言画图,举几个最简单的例子

首先需要绘图函数的头文件在TC2.0中是graphics.h
然后需要初始化图形模式.
在利用绘图函数
矩形:bar
圆形:circle
直线:line
等等。你可以到graphics.h文件中去看这些函数的参数
举个例子

#include <stdio.h>
#include <graphics.h>

int main(void)
{
int gdriver; /*图形驱动器*/
int gmode; /*图形驱动模式*/

gdriver = DETECT; /*自动检测硬件,已确定图形驱动器*/
initgraph(&gdriver,&gmode,\"\");初始化图形设备
setbkcolor(BLUE); /*设置屏幕背景颜色为蓝色*/
circle(getmaxx() / 2,getmaxy() / 2,100); /*在屏幕中间绘制一个半
为100的圆*/
closegraph(); /*关闭图形模式*/
return(0);
}

❽ 谁知道C语言怎么画图啊

Turbo C提供了非常丰富的图形函数, 所有图形函数的原型均在graphics. h中, 本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数。另外, 使用图形函数时要确保有显示器图形驱动程序*BGI, 同时将集成开发环境Options/Linker中的Graphics lib选为on, 只有这样才能保证正确使用图形函数。由于种类比较多,所以下面仅列举2个例子,抛砖引玉→
1.点
void far putpixel(int x, int y, int color);
2.线
void far line(int x0, int y0, int x1, int y1); 画一条从点(x0, y0)到(x1, y1)的直线。

void far lineto(int x, int y); 画一作从现行游标到点(x, y)的直线。

void far linerel(int dx, int dy); 画一条从现行游标(x, y)到按相对增量确定的点(x+dx, y+dy)的直线。

void far circle(int x, int y, int radius); 以(x, y)为圆心, radius为半径, 画一个圆。

c语言的图形部分是很有意思的,也是c中最精彩的内容之一,希望你能很快享受它的乐趣。

❾ 如何利用c语言程序设计绘制一个形状(圆,椭圆,矩形都可以),用线条动态地填充其内部

你的c 编译器需带 绘图函数库 才行。
c++ API 程序 可以绘图。只要得到窗口句柄,就可在该窗画图。画直线,多边形,圆,椭圆,扇形 等 都是基本函数。
下面程序在桌面窗口画线:
#include <Afxwin.h>
#include <Windows.h>
#pragma comment (lib, "User32.lib")
int main(void){
HWND hWnd = ::GetDesktopWindow();
HDC hdc = ::GetDC(hWnd);
// HDC hdc = ::GetDC(NULL);
RECT rect;
::GetWindowRect(hWnd, &rect);
::MoveToEx(hdc, 0, 0, NULL);
::LineTo(hdc, rect.right, rect.bottom);
::MoveToEx(hdc, rect.right, 0, NULL);
::LineTo(hdc, 0, rect.bottom);
::ReleaseDC(hWnd, hdc);
system("PAUSE");
return 0;
}
===
用“刷子”画填充的封闭图形 (参数是 花纹,颜色)
HBRUSH Brush[5];
case WM_PAINT:
Brush[0] = CreateHatchBrush(HS_BDIAGONAL, RGB(0, 0, 255));
Brush[1] = CreateHatchBrush(HS_CROSS, RGB(200, 0, 0));
Brush[2] = CreateHatchBrush(HS_DIAGCROSS, RGB(0, 128, 0));
Brush[3] = CreateHatchBrush(HS_FDIAGONAL, RGB(0, 128, 192));
Brush[4] = CreateHatchBrush(HS_DIAGCROSS, RGB(255, 128, 0));
----
编译器 MS VC++ 6.0.
API 程序罗嗦,这里就不列出来了。

❿ 怎么用c语言画函数图像

我画了半个正弦函数,其余的你可以照着画,欢迎讨论,
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "graphics.h"

void main()
{
int driver,mode,i;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
setcolor(15);
for(i=0;i<360;i++)

line(i,200*sin(i*3.14/360),i+1,200*sin((i+1)*3.14/360));

getch();
restorecrtmode();
}