导航:首页 > 动漫图片 > c语言怎么让图片显示在上

c语言怎么让图片显示在上

发布时间:2023-05-08 03:34:08

① c语言程序中怎么显示图片

用库,比如OpenCV库等。C语言本身是不能完成这些的。

② 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;
}

③ 怎样用C语言显示一张jpg的图片呢

可以用函数OleLoadPicture从包含有图像数据的流中装载图像。

具体实现代码如下:

//在显示图像之前,首先要获取到图像文件的存放路径,这里采用标准的文件打开对话框来选取图像文件,文件名存放在CString型的变量m_sPath中:
CFileDialogdlg(TRUE,"jpg","*.jpg",
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"JPEG文件(*.jpg)|*.jpg|GIF文件(*.gif)|*.gif||",NULL);
if(dlg.DoModal()==IDOK)
{
m_sPath=dlg.GetPathName();
Invalidate();
}
//为简单计,图形显示的代码直接在视类中的OnDraw中编写,首先打开文件并判断文件的可用性,并把文件内容放到流接口IStream的对象pStm中:
IStream*pStm;
CFileStatusfstatus;
CFilefile;
LONGcb;
……
if(file.Open(m_Path,CFile::modeRead)&&file.GetStatus(m_Path,fstatus)&&((cb=fstatus.m_size)!=-1))
{
HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,cb);
LPVOIDpvData=NULL;
if(hGlobal!=NULL)
{
if((pvData=GlobalLock(hGlobal))!=NULL)
{
file.ReadHuge(pvData,cb);
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
}
}
}


//然后,就直接调用OleLoadPicture函数从流中装载图像:
IPicture*pPic;
……
OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic));


//由于该函数有时会导致失败,所以应当用SUCCEEDED宏来做一些适当的保护工作,只有在数据装载成功的前提下才能继续下面的图像显示工作:
if(SUCCEEDED(OleLoadPicture(pStm,fstatus.m_size,TRUE,IID_IPicture,(LPVOID*)&pPic)))
{
OLE_XSIZE_HIMETRIChmWidth;
OLE_YSIZE_HIMETRIChmHeight;
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
doublefX,fY;
……
fX=(double)pDC->GetDeviceCaps(HORZRES)*(double)hmWidth/((double)pDC->GetDeviceCaps(HORZSIZE)*100.0);
fY=(double)pDC->GetDeviceCaps(VERTRES)*(double)hmHeight/((double)pDC->GetDeviceCaps(VERTSIZE)*100.0);
if(FAILED(pPic->Render(*pDC,0,0,(DWORD)fX,(DWORD)fY,0,hmHeight,hmWidth,-hmHeight,NULL)))
AfxMessageBox("渲染图像失败!");
pPic->Release();
}
else
AfxMessageBox("从流中装载图像失败!");//其中,显示工作主要是由IPicture接口对象的Render函数来完成的,该函数主要用来将图片的指定部分画到指定的设备环境的指定位置。
原型如下:
HRESULTRender(HDChdc,//渲染图像用的设备环境句柄
longx,//在hdc上的水平坐标
longy,//在hdc上的垂直坐标
longcx,//图像宽度
longcy,//图像高度
OLE_XPOS_HIMETRICxSrc,//在源图像上的水平偏移
OLE_YPOS_HIMETRICySrc,//在源图像上的垂直偏移
OLE_XSIZE_HIMETRICcxSrc,//在源图像上水平拷贝的数量
OLE_YSIZE_HIMETRICcySrc,//在源图像上垂直拷贝的数量
LPCRECTprcWBounds//指向目标图元设备环境句柄的指针);

④ 如何C语言显示图片(linux环境)

没有像VC那样被修改了标准的语言,所以可以认为linux下的C语言都是标准的。
这个程序要是所有的代码都自己写的话,会非常复杂的,并且操作系统也不允许你写这样的程序。目前条件下能用的有两种比较简单主流的解决方法。一是调用GTK库函数,二是调用Qt库函数。
按我的思路,启动后程序先显示一个窗口,把图片作为窗口的背景或放入特定控件,5秒钟后,窗口关闭或等待某一信号。这种方法能在GTK下实现,Qt能不能行我没试过(应该能行,都是图形界面程序接口)。
至于代码,我感觉你得自己写,我写的你得改好多才能用,不会GTK/Qt的话可以先学学,有C基础的一看就懂,反正GTK是用标准C写成的,所有调用都是C调用,QT没用过
GTK相关资料:

⑤ C语言中怎么让图片显示在上面

问题描述的不够精确,
纯C处理图片比较麻烦,你可以穗知圆用
C++使用控件实现。
也可以使用支持中文的C语猛漏言
-
习语言,
来显示图片,
比较猜塌简单。

阅读全文

与c语言怎么让图片显示在上相关的资料

热点内容
好毛笔价格图片 浏览:452
动漫图片女生简单好画素描 浏览:637
如何拍照好看姿势图片 浏览:138
动画女生露屁股图片 浏览:785
画梅花画图片简单画法 浏览:995
荣威i5价格及图片 浏览:326
玛丽艳价格表图片 浏览:352
如何帮档案贴封条图片 浏览:438
流泪女孩图片素材 浏览:46
关之琳短发发型图片 浏览:578
七彩玉石价格价格图片大全 浏览:199
图片可爱简单动漫人物 浏览:427
抖音如何加图片上的音乐 浏览:113
精致整容女生图片 浏览:406
搜索中国女孩穿比基尼图片 浏览:112
ohpo手机删掉的图片如何 浏览:157
简单动画片图片大全图片大全 浏览:13
三种颜色衣服图片大全 浏览:63
jpg格式图片怎样插入word 浏览:813
粉刺是怎么形成的图片 浏览:997