当前位置:首页 » 编程语言 » 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语言要求的格式来进行书写,不能自己强行发明创造。