當前位置:首頁 » 編程語言 » c語言的使用圖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言的使用圖

發布時間: 2022-04-25 21:10:48

㈠ 如何用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);

}

(1)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語言怎麼畫圖啊

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語言畫圖

你相當於只是畫了10個方塊啊。
你要想連續的話就增加點的數量。
int
num[10]={181,198,207,202,200,197,199,198,215,203};
就是這個。

㈤ 怎麼使用C語言完成圖片中要求的編程(盡量使用一維數組)

按照你的要求,都用一維數組。不過學生信息建議使用結構體來定義。

題目要求函數參數用到數組和指針,而數組傳參本來就可用數組和指針兩種方式。

下面是代碼:

#include <stdio.h>

#define MJ 5//課程最大數量

#define MT 30//學生最大人數

#define FM 100//滿分

#define PS 60//及格

int init(int ss[],int sid[],int *p_slen);//通過初始化數組。成功返回總分,失敗返回0

int contFStudents(int ss[],int sid[],int slen);//統計不及格人數並列印名單,返回人數

int contAAvg(int ss[],int sid[],int slen,float avg);//avg表示平均分數,如未知傳-1 返回人數

int contMax(int ss[],int slen,int *sid);//統計最高分及學號

int main()

{

int ss[MT],sid[MT],sum;

int slen=0;// 實際輸入的學生人數

int fn,an;

sum=init(ss,sid,&slen);

fn=contFStudents(ss,sid,slen);

an=contAAvg(ss,sid,slen,(sum*1.0)/slen);

printf("不及格佔比%.0f%% ",(fn*1.0)/slen*100);

printf("高於等於平均分佔比%.0f%% ",(an*1.0)/slen*100);

contMax(ss,slen,sid);

return 0;

}

int init(int ss[],int sid[],int *p_slen)

{

int i=0,n,sum=0;

if(!p_slen) return 0;

*p_slen=0;

printf("該班級所有學生某課程成績(人數不超過%d): ",MT);

for(i=0;i<MT;i++)sid[i]=1000+i;//學號沒有特殊要求,直接用數字代替

i=0;

while(*p_slen<=MT)

{


printf("請輸入學號%d的成績:",sid[i]),scanf("%d",&n);

if(n>FM)

{

printf("%d輸入無效,不能大於滿分上限%d ",n,FM);

continue;

}

if(n<0) break;

ss[i++]=n;

sum+=n;

}

*p_slen=i;

return sum;

}

int contFStudents(int ss[],int sid[],int slen)

{

int i,cnt=0;

for(i=0;i<slen;i++)

if(ss[i]<PS)cnt++,printf("學號%d,分數:%d,不及格! ",sid[i],ss[i]);

printf("不及格人數共:%d人 ",cnt);

return cnt;

}

int contAAvg(int ss[],int sid[],int slen,float avg)

{

int i,cnt=0,sum=0;

if(avg==-1)

{

for(i=0;i<slen;i++) sum+=ss[i];

avg=(sum*1.0)/slen;

}

for(i=0,printf("平均分(%f)及平均分以上的學生有: ",avg);i<slen;i++)

if(ss[i]>=avg)cnt++,printf("學號%d,分數:%d ",sid[i],ss[i]);

printf("平均分及平均分以上人數共:%d人 ",cnt);

return cnt;

}

int contMax(int ss[],int slen,int *sid)

{

int i,max=ss[0];

if(!sid) return 0;

for(i=0;i<slen;i++)

if(ss[i]>max) max=ss[i];

for(i=0,printf("最高分(%d)的學生學號有: ",max);i<slen;i++)

if(ss[i]==max) printf("%d ",sid[i]);

return 1;

}

㈥ C語言怎麼調用圖片

圖片也是一個文件,
1.你是要打開圖片嗎?(把圖像顯示出來?)
2.還是只需要圖片文件。
如果是1,那麼你需要看.bmp的編碼方式和c庫的圖像類函數
如果是2,那麼你就可以用fopen,fread,fwrite,fprintf,fscanf等調用即可。

㈦ c語言流程圖怎麼畫

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidf();
voidf0();
voidf1(charp1[],charp2[]);
voidf2(charp1[],charp2[]);
voidf3(charp1[],charp2[]);
charch;
charp1[22],p2[22];

voidmain()
{
f();

}

voidf()
{
system("colore");
printf("請輸入兩個字元串p1p2:");
scanf("%s%s",p1,p2);
f0();
}
voidf0()
{
system("color2b");
inta;
printf("############################################################ ");
printf("#請輸入:# ");
printf("#1.求字元串長度# ");
printf("#2.字元串復制# ");
printf("#3.字元串比較# ");
printf("############################################################ ");
printf("你選擇的操作是:");
printf("%d",&a);
switch(a)
{
case1:
f1(p1,p2);break;
case2:
f2(p1,p2);break;
case3:
f3(p1,p2);break;
default:
printf("sorry輸入有誤!! ");break;
}

}

voidf1(charp1[],charp2[])
{
printf("p1長度為%d ",strlen(p1));
printf("p2長度為%d ",strlen(p2));
printf("############################################################ ");
printf("*按f鍵返回菜單* *按c鍵重新輸入* *按其他鍵結束* ");
printf("############################################################ ");
getchar();
ch=getchar();
if(ch=='f')
{
system("cls");
f0();

}
elseif(ch=='c')
{
system("cls");
f();
}
else
exit(0);
}


voidf2(charp1[],charp2[])
{
strcpy(p1,p2);
printf("字元串復制後的結果為:%s ",p1);
printf("############################################################ ");
printf("*按f鍵返回菜單* *按c鍵重新輸入* *按其他鍵結束* ");
printf("############################################################ ");
getchar();
ch=getchar();
if(ch=='f')
{
system("cls");
f0();

}
elseif(ch=='c')
{
system("cls");
f();
}
else
exit(0);
}

voidf3(charp1[],charp2[])
{
intm,n,i,j=0;
m=strlen(p1);
n=strlen(p2);
if(strcpy(p1,p2)!=0)
{
if(m<n)
for(i=0;j<m;i++)
{
if(p1[i]!=p2[i])
j=p1[i]-p2[i];
printf("第一個不相同的字元ASCII碼差為:%d ",j);
break;
}
else
for(i=0;j<n;i++)
{
if(p1[i]!=p2[i])
j=p1[i]-p2[i];
printf("第一個不相同的字元的ASCII碼差為:%d ",j);
break;
}
}
printf("############################################################ ");
printf("*按f鍵返回菜單* *按c鍵重新輸入* *按其他鍵結束* ");
printf("############################################################ ");
getchar();
ch=getchar();
if(ch=='f')
{
system("cls");
f0();

}
elseif(ch=='c')
{
system("cls");
f();
}
else
exit(0);
}

㈧ c語言如何調用圖片

直接調用並顯示JPG BMP等格式圖片的函數好像沒有,要自己編寫。
首先要弄清楚圖片格式的編碼方式,然後設置解析度,可以顯示出來。
void far getimage(int left,int top,int right,int bottom,void far *buf)
說明:把屏幕圖形部分拷貝到由BUF所指向的內在區域,左上角和右下角圖標。用函數IMAGESIZE()來確定存儲圖像所需位元組數。用GETIMAGE()存儲的圖像可以用PUTIMAGTE()函數寫到屏幕上。

㈨ 如何用C語言軟體畫圖

matalab是我所知比較好的數學關系處理軟體(當然簡單一些的用excel就綽綽有餘了),C語言軟體中turbo-c顯得就力不從心了,而且要進行比較復雜的編程語言轉換,這個對於初學者太抽象了(命令式,可以類比於dos了··),如果你還是想藉助c語言類軟體的話,推薦用圖形界面的軟體,VB適於初學者,在之後可以選擇學習VC(其中VC就已經足夠強大了),另外要開發用於手機上的程式,就要學習java了··
(其他工具軟體autoCAD也行,立體建模使用3d max 或者瑪雅··)
以上僅供參考,希望對您有所幫助

㈩ 用C語言怎樣調用圖片要一個完整的,有重獎!

如果只是讀數據,用file
open就行,如果想顯示,最簡的是shell外調系統程序打開圖片,如果想自已讀,自已繪制出來,bmp的還好,數據格式很簡單,一個像素一個像素的讀寫就是了,如果是jpg,
tif等等,壓縮演算法你是寫不出來的。代碼很長,這兒不發表了。如果想支持各種格式的圖像,你還是用現有的庫吧,別指望自已能弄出來。