图形和图像函数包含在graphics.h里面
(一) 像素函数
(二) 直线和线型函数
(三)、多边形函数
(四)、 圆、弧和曲线函数
(五)、 填充函数
(六)、图像函数
第四段:图形和图像函数
对许多图形应用程序,直线和曲线是非常有用的.但对有些图形只能靠操作单个像素才能画出.当然如果没有画像素的功能,就无法操作直线和曲线的函数.而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加.
功能: 函数putpixel() 在图形模式下屏幕上画一个像素点.
用法: 函数调用方式为void putpixel(int x,int y,int color);
说明: 参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值.
此函数相应的头文件是graphics.h
返回值: 无
功能: 函数getpixel()返回像素点颜色值.
用法: 该函数调用方式为int getpixel(int x,int y);
说明: 参数x,y为像素点坐标.
函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数).
这个函数相应的头文件为graphics.h
返回值: 返回一个像素点色彩值.
#include
using namespace std;
#define Twoto1(i,j,w) i*w+j
void createimage(unsigned char *img, int w, int h)
{img = new unsigned char[w*h];}
void delateimage(unsigned char*img)
{delete []img;}
void readimage(unsigned char*img, int w, int h, char *fname)
{
FILE *fp;
fopen_s(fp,fname, "rb");
if (fp == NULL){ cout "error" endl; return; }
size_t result;
result=fread(img , sizeof(unsigned char), w*h, fp);
if (result != w*h)
cout "Reading error" endl;
return;
}
else
cout "Reading Ok!" endl;
fclose(fp);
image1[Twoto1(i,j,w)] = 0;
float temp = 0;
else if (temp0) image1[Twoto1(i, j, w)] = 0;
else image1[Twoto1(i, j, w)] = temp;
void saveimage(unsigned char *img, int w, int h, char *fname)
fopen_s(fp, fname, "wb");
if (fp == NULL) { cout "error" endl; return; }
result = fwrite(img, sizeof(unsigned char), w*h, fp);
cout "Write error" endl;
cout "Write Ok!" endl;
void main()
unsigned char *img;
unsigned char *img1;
createimage(img, w, h);
createimage(img1, w, h);
readimage(img, w, h, "E:\ss.raw");
mobanjuanji(img, img1,w, h, moban);
saveimage(img, w, h, "E:\ss_1.raw");
delateimage(img);
delateimage(img1);
扩展资料
C语言实现一个图片的读出和写入
#include stdlib.h
#include windows.h
int file_size(char* filename)//获取文件名为filename的文件大小.
FILE *fp = fopen(filename, "rb");//打开文件.
int size;
if(fp == NULL) // 打开文件失败
return -1;
fseek(fp, 0, SEEK_END);//定位文件指针到文件尾.
size=ftell(fp);//获取文件指针偏移量,即文件大小.
fclose(fp);//关闭文件.
return size;
int main ()
int size=0;
size=file_size("qw");
printf("%d\n",size);
FILE * pFile,*qw;
char *buffer=(char*)malloc(sizeof(char)*size);
qw? ?=fopen("qw","r");
pFile = fopen ( "qwe" , "wb" );
printf("%d==\n",pFile);
fread(buffer,1,size,qw);
fwrite (buffer , sizeof(byte), size , pFile );
fclose (pFile);
rename("qwe","Groot.jpg");
return 0;
c语言调用图片函数
据我所知Matlab有,imshow(),c好象没有,c只能先将图片读到内存中,经过相关处理后以一定的格式保存到硬盘中,然后再打开图片.
读图和存图需要有专门的函数,这些可以参考:
unsigned
char*
ReadBMPData(int
Width,
int
Height,
char
*fname)//图像的宽和高,图像的位置(包括后缀)
image
=
new
char[Width*Height];
FILE
*fp;
fp
fopen(fname,
"rb");
fread(image,
Width*Height,
fp);
return
image;
///////////////////////////
void
WriteRawData(unsigned
image,
*fname)
"wb");
fwrite(image,
InitImage函数来打开bitmap文件(.bmp)中的图像信息,用一些指针来记录.InitImage函数将会被main()函数调用.
供参考!不一定对~
以上就是土嘎嘎小编为大家整理的c语言image函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!