导航:首页 > 动漫图片 > 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语言怎么让图片显示在上相关的资料

热点内容
数码宝贝简单笔画图片大全 浏览:620
教主动漫图片 浏览:352
友情破裂文字图片 浏览:234
女式男发短发发型图片 浏览:217
柴犬美甲图片女生 浏览:545
26个英文字书写图片 浏览:845
如何把2003word图片压缩 浏览:790
图片动漫萝莉图片大全 浏览:791
word插入的图片超过边界不显示 浏览:169
word两张图片怎么保存 浏览:832
复古衣服图片男装 浏览:429
衣服图片简单图 浏览:902
长脸适合什么短的发型图片 浏览:549
冬天衣服裤子图片卡通 浏览:395
唯美图片大全高清伤感女生 浏览:140
160斤的女生图片自拍 浏览:196
我爱阅读手抄报简单漂亮图片 浏览:361
越南企业高清图片 浏览:159
松鼠卡通图片可爱趴着 浏览:278
漂亮夏季衣服图片 浏览:402