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

c语言图片

发布时间: 2022-02-27 00:42:14

‘壹’ c语言怎么输出一张图片

输出到文件的话,按照指定图片格式,写入文件即可。

电脑型号:微星 GF63 Thin 9SC

系统版本:Microsoft Windows 10

文本文件

1、打开电脑上要读取的文本文件。



‘贰’ 如何用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 || j>h - 3)

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

else

{

float temp = 0;

for (int m = 0; m<5; m++)

for (int n = 0; n<5; n++)

{

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

}

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

else if (temp<0) 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);

}

(2)c语言图片扩展阅读

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

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

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

fclose (pFile);

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

return 0;

}

‘叁’ c语言中如何导入图片

1、首先先在图片取模软件找到软件快捷方式,点击打开软件。

‘肆’ C语言输出图片

输出BMP图片的:
#include "stdlib.h"
#include "graphics.h"
#include "stdio.h"

#define WIDTH 120
#define HEIGHT 120
//用一个二维数组保存的图片,这里图片长高必须是4的倍数,不是4的倍数必须进行补齐,
//但是这里面是没有进行补位操作的,你也可以自己去看看24位bmp图片的编码格式,
//然后就知道该怎么用了
void mian()
{
FILE *fp;
unsigned char bmp[16][200];
unsigned char bmp2[WIDTH][HEIGHT*3];
int i = 1,size1 = 0,size2 = 0,size0 = 0;
int j = 0;
if((fp = fopen("G:\\new\\Boy5.bmp","rb")) == NULL)//打开图片
exit(0);
i = 0;
fseek(fp,54L,0);//BMP图片阵列是从第54位开始
//#########读入图片阵列到数组中##########
while(i < WIDTH*HEIGHT*3)
{
*(bmp2[0]+i) = fgetc(fp);
i++;
}
fclose(fp);
initgraph(700, 700); // 打开图形窗口,这里这个函数我之前是在VC下编译的,用了一个网上的绘图库,与TC的打开图形界面函数有所差别,改掉就可以了
//####################################输出图片,这里是打点的方式在图形界面输出,
for(i = 0;i < (WIDTH-1);)
{
for(j =0;j < (HEIGHT-1)*3 ;)
{
putpixel(50+(j/3),600-(i/1),RGB((int)bmp2[i][j+2],(int)bmp2[i][j+3],(int)bmp2[i][j+4]));//输出像素点
j+=3;
}
i++;
}
getchar();
closegraph(); // 关闭图形窗口
}

‘伍’ C语言怎么处理图片

想操作的,主要是操作像素点。根据矩阵位置可以做局部数据的调整

‘陆’ c语言如何调用图片

直接调用并显示JPG BMP等格式图片的函数好像没有,要自己编写。
首先要弄清楚图片格式的编码方式,然后设置分辨率,可以显示出来。
void far getimage(int left,int top,int right,int bottom,void far *buf)
说明:把屏幕图形部分拷贝到由BUF所指向的内在区域,左上角和右下角图标。用函数IMAGESIZE()来确定存储图像所需字节数。用GETIMAGE()存储的图像可以用PUTIMAGTE()函数写到屏幕上。

‘柒’ c语言如图片

初始化:f1 = 0 , f2 = 1;

for循环,i=3 开始循环,到i=5,那么就是循环了3次;
for循环体里头的内容,需要计算三次:
1、f = f1 + f 2 -- 计算f值;
2、f1 = f2 ; -- f1重新赋值 为f2;
3、 f2 = f; -- f2重新赋值为f;
4、print(f) ; -- 循环3次就输出三次;

输出结果应该是: 1 2 3

‘捌’ 用c语言如何读取和保存jpg图片文件

#include <stdio.h>

#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 ",size);

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

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

fclose (pFile);

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

return 0;

}

(8)c语言图片扩展阅读:

c语言读取TXT文件:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_LINE 1024

int main()

{

char buf[MAX_LINE]; /*缓冲区*/

FILE *fp; /*文件指针*/

int len; /*行字符个数*/

if((fp = fopen("test.txt","r")) == NULL)

{

perror("fail to read");

exit (1) ;

}

while(fgets(buf,MAX_LINE,fp) != NULL)

{

len = strlen(buf);

buf[len-1] = ''; /*去掉换行符*/

printf("%s %d ",buf,len - 1);

}

return 0;

}




‘玖’ c语言 图片

1、如果有图片(例如 wzzx.jpg) 程序中插一句:
system("mspaint wzzx.jpg"); 就可以 在运行时显示这张图片。
用字符串变量调用也可以:
char pic_name[80]="wzzx.jpg";
char cmd[100];
sprintf(cmd,"mspaint %s",pic_name);
system(cmd); // 显示图片

2、system函数:
原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。

‘拾’ C语言中如何显示图片

1、图片也是属于文件类型的一种,图片属于二进制文件。使用fopen函数的二进制模式“rb”就可以打开。
2、例程:

#include<stdlib.h>
#include<stdio.h>
intmain()
{
FILE*fpPhoto,*fpText,*fpTarget;
intiRead;
charszBuf[100];
printf("请输入第一个文件名(bmp): ");
gets(szBuf);
fpPhoto=fopen(szBuf,"rb");
printf("请输入第二个文件名(txt): ");
gets(szBuf);
fpText=fopen(szBuf,"rb");
printf("请输入目的文件名(bmp): ");
gets(szBuf);
fpTarget=fopen(szBuf,"wb");

if(!fpPhoto||!fpText||!fpTarget)
{
printf("打开文件失败! ");
system("pause");
return-1;
}

while((iRead=fread(szBuf,1,sizeof(szBuf),fpPhoto))>0)
fwrite(szBuf,1,iRead,fpTarget);
while((iRead=fread(szBuf,1,sizeof(szBuf),fpText))>0)
fwrite(szBuf,1,iRead,fpTarget);

fclose(fpPhoto);
fclose(fpText);
fclose(fpTarget);
return0;
}