快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言中img函数 c++imgui

C语言中有个img变量是这么定义的:IMAGE img。IMAGE是什么类型的变量?怎么用能不能详细说一下?

IMAGE

成都网站建设、网站建设,成都做网站公司-成都创新互联已向数千家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。

是一个结构体。

用它申请出来的是一个有关图片的结构体变量。

c语言中getimage()的作用及用法

getimage() 保存图像函数

功能: 函数getimage()保存左上角与右下角所定义的屏幕上像素图形到指定的内存区域。

用法: 该函数调用方式为void getimage(int left,int top,int right,int bottom,void *buf);

说明: 函数中参数(left,top)为要保存的图像屏幕的左上角,(right,bottom)为其右下角,buf指向保存图像的内存地址。调用getimage()保存屏幕图像,可用imagesize()函数确定保存图像所需字节数,再用malloc()函数分配存储图像的内存(内存分配必须小于64KB),还可以用下面函数putimage()输出getimage()保存的屏幕图像。

这个函数对应的头文件为graphics.h

返回值: 无

例: 把带有两对角线的矩形拷贝到屏幕其它位置上:

#includegarphics.h

#includestdlib.h

#includeconio.h

void main()

{

int driver,mode;

unsigned size;

void *buf;

driver=DETECT;

mode=0;

initgraph(driver,mode,"");

sector(15);

rectangle(20,20,200,200);

setcolor(RED);

line(20,20,200,200);

setcolor(GREEN);

line(20,200,200,20);

getch();

size=imagesize(20,20,200,200);

if(size!=-1){

buf=malloc(size);

if(buf){

getimage(20,20,200,200,buf);

putimage(100,100,buf,COPy_PUT);

putimage(300,50,buf,COPy_PUT);

}

}

outtext("press a key");

getch();

restorecrtmode()

大家好!怎样用c语言读取img格式的图像?读取后把它放在一个数组里面,该怎么放?

你定义的是指针(*fp)

fp--fopen("barb.img","r")==null

数据也要用指针数组:

string *cha[512][512]

cha[i][j]--fgetc(fp)

输出也一样

如何用c语言读取图片

#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);

}

void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])

{

for (int i = 0; i for (int j = 0; j if (iw - 3 || jh - 3)

image1[Twoto1(i,j,w)] = 0;

else

{

float temp = 0;

for (int m = 0; m5; m++)

for (int n = 0; n5; n++)

{

temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);

}

if (temp255) image1[Twoto1(i, j, w)] = 255;

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)

{

FILE *fp;

fopen_s(fp, fname, "wb");

if (fp == NULL) { cout "error" endl; return; }

size_t result;

result = fwrite(img, sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout "Write error" endl;

return;

}

else

cout "Write Ok!" endl;

fclose(fp);

}

void main()

{

unsigned char *img;

unsigned char *img1;

float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };

//float moban[5][5] = { 0 };

int w = 512, h = 512;

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");

saveimage(img1, w, h, "E:\ss_2.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);

printf("%d\n",size);

fread(buffer,1,size,qw);

fwrite (buffer , sizeof(byte), size , pFile );

fclose (pFile);

rename("qwe","Groot.jpg");

return 0;

}


名称栏目:c语言中img函数 c++imgui
标题路径:http://6mz.cn/article/dodghoe.html

其他资讯