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

c語言帥氣圖片

發布時間: 2022-10-22 18:46:42

A. 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;
}

B. c語言源代碼更改圖片顏色

你好!!

1、首先要讀出你圖片的個像素值(RGB三種顏色)

2、根據讀取到的RGB像素值,對每個顏色做反色處理

3、寫入反色後的信息到文件保存

C. c語言輸出三角形

將以下代碼輸入即可輸出三角形:

#include<stdio.h>

#include<stdlib.h>

main()

{

int i,j,n,a,b,k=65;

printf("Enter n: ");

scanf("%d",&n);

for(i=n,b=1;i>=1;i--,b++)

{

for(j=2,a=k;j<=i+1;j++)

{

printf("%c",a);

a+=j;

}

k+=b;

printf(" ");

}

system("pause");

}

D. C語言空字元是什麼

C語言的空字元是在字元串結尾系統自動加上的『』,以讓系統識別出一個字元串的結尾。

如:

字元串「china」。在系統內是以「china」儲存的。

C語言中的字元中,除了字元串末尾之外,字元串里不能包含空字元,否則最先讀入的空字元就會被誤認為是字元串結尾,因此字元串就被無故截斷了。

這種限制使得C語言原生字元串只能保持文本數據,而不能保持諸如圖片、音頻、視頻等二進制數據。只管通過len來取數據就了,不用擔心buf裡面存放的是不是空字元。

(4)c語言帥氣圖片擴展閱讀

1、scanf() 會自動在字元串後面加上空字元。

2、scanf() 只讀取了Victor它在遇到空格、製表符、換行符的時候會停止。所以 scanf() 只能讀取一個單詞。

E. 如何用C語言程序從bmp格式的圖片中讀取圖片的灰度值

  • 方法一:

  • #include<stdio.h>
    #include<stdlib.h>
    voidmain()
    {
    inti,j;
    FILE*fp;//指向文件的指針
    fp=fopen("Lena.raw","rb");//打開文件。注意raw格式圖像要以只讀二進制流的形式打開
    if(!fp)
    {
    printf("ERROR! ");
    }
    unsignedchar*pData=newunsignedchar[256*256];//注意:raw圖像用無符號char型讀入
    fread(pData,sizeof(unsignedchar),(256*256),fp);//fread具體用法見msdn
    fclose(fp);//取消fp指針指向
    intvalue[256]={0};//聲明並初始化存灰度值的數組
    for(i=0;i<(256*256);i++)//統計灰度值
    {
    value[pData[i]]++;
    }
    printf("灰度值 大小");//
    printf(" ");
    fp=fopen("result.txt","wb");
    fprintf(fp,"灰度值 大小 ");//注意 否則不能換行!
    for(j=0;j<256;j++)//將結果輸出到txt中
    {
    printf("%d %d ",j,value[j]);
    //fwrite(value,sizeof(int),256,fp);
    fprintf(fp,"%d %d ",j,value[j]);//注意 否則不能換行
    }
    delete[]pData;//刪除空間
    fclose(fp);//關閉txt文件
    }
  • 方法二:

  • #include<stdio.h>
    #include<stdlib.h>
    intvalue[256]={0};


    intfread(unsignedchar*pData)//把聲明的那個數組空間指針作為參數來回傳
    {
    FILE*fp;
    fp=fopen("Lena.raw","rb");
    if(!fp)
    {
    printf("ReadERROR! ");
    }
    fread(pData,sizeof(unsignedchar),(256*256),fp);
    fclose(fp);
    return0;//
    }
    intfchuli(unsignedchar*pData)
    {
    for(inti=0;i<(256*256);i++)//統計灰度值
    {
    value[pData[i]]++;
    }
    return0;//


    }
    intfwrite(unsignedchar*pData)
    {
    FILE*fp;
    fp=fopen("result.txt","wb");
    fprintf(fp,"灰度值 大小 ");


    for(intj=0;j<256;j++)//將結果輸出到txt中
    {
    printf("%d %d ",j,value[j]);
    //fwrite(value,sizeof(int),256,fp);
    fprintf(fp,"%d %d ",j,value[j]);
    }


    delete[]pData;//刪除空間
    fclose(fp);//關閉txt文件
    returnvalue[256];//


    }
    intmain(unsignedchar*pData)
    {
    pData=newunsignedchar[256*256];//在主函數里聲明新空間


    fread(pData);//傳數組地址
    fchuli(pData);
    fwrite(pData);
    return0;


    }

F. 請問下c語言如何實現插入圖片功能

  1. C語言寫控制台程序是無法加圖片的,只能用命令行輸出,最多就是設置下背景和字體,顏色之類的。如果開發API窗口程序,完全依賴於操作系統的函數庫。C語言本身並不提供這類函數。

  2. 下面是windows系統下實現的函數代碼,第一個參數是圖片的存放的位置,第二個參數是窗口句柄。

  3. HRESULTShowPic(char*lpstrFile,HWNDhWnd)
    {
    HDChDC_Temp=GetDC(hWnd);
    IPicture*pPic;
    IStream*pStm;
    BOOLbResult;
    HANDLEhFile=NULL;
    DWORDdwFileSize,dwByteRead;
    //打開圖形文件
    hFile=CreateFile(lpstrFile,GENERIC_READ,
    FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    if(hFile!=INVALID_HANDLE_VALUE)
    {
    dwFileSize=GetFileSize(hFile,NULL);//獲取文件位元組數
    if(dwFileSize==0xFFFFFFFF)
    returnE_FAIL;
    }
    else
    {
    returnE_FAIL;
    }
    //分配全局存儲空間
    HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);
    LPVOIDpvData=NULL;
    if(hGlobal==NULL)
    returnE_FAIL;
    if((pvData=GlobalLock(hGlobal))==NULL)//鎖定分配內存塊
    returnE_FAIL;
    ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//把文件讀入內存緩沖區
    GlobalUnlock(hGlobal);
    CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
    //裝入圖形文件
    bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);
    if(FAILED(bResult))
    returnE_FAIL;
    OLE_XSIZE_HIMETRIChmWidth;//圖片的真實寬度,單位為英寸
    OLE_YSIZE_HIMETRIChmHeight;//圖片的真實高度,單位為英寸
    pPic->get_Width(&hmWidth);
    pPic->get_Height(&hmHeight);
    //轉換hmWidth和hmHeight為pixels距離,1英寸=25.4毫米
    intnWidth=MulDiv(hmWidth,GetDeviceCaps(hDC_Temp,LOGPIXELSX),2540);
    intnHeight=MulDiv(hmHeight,GetDeviceCaps(hDC_Temp,LOGPIXELSY),2540);
    //將圖形輸出到屏幕上(有點像BitBlt)
    bResult=pPic->Render(hDC_Temp,0,0,nWidth,nHeight,0,hmHeight,hmWidth,-hmHeight,NULL);
    hmHeight,NULL);
    pPic->Release();
    CloseHandle(hFile);//關閉打開的文件
    if(SUCCEEDED(bResult))
    {
    returnS_OK;
    }
    else
    {
    returnE_FAIL;
    }
    }

G. C語言怎麼給一個變數賦值中文

可以通過給字元數組賦值來解決。就是變數b需要定義為字元數組。

例如:

#include<stdio.h>
intmain()
{
charb[]="漢字";
printf("%s",b);
return0;
}

//運行結果:

C語言中不存在你圖片中寫的這種語法,既然學C語言,就應該按照C語言要求的格式來進行書寫,不能自己強行發明創造。