(1)
C语言写控制台程序是无法加图片的,只能用命令行输出,最多就是设置下背景和字体,颜色之类的。如果开发API窗口程序,完全依赖于操作系统的函数库。C语言本身并不提供这类函数。

下面是windows系统下实现的函数代码,第一个参数是图片的存放的位置,第二个参数是窗口句柄。

HRESULT ShowPic(char *lpstrFile,HWND hWnd)
{HDC hDC_Temp=GetDC(hWnd);IPicture *pPic;IStream *pStm;BOOL bResult;HANDLE hFile=NULL;DWORD dwFileSize,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)return E_FAIL;}else{return E_FAIL;}
//分配全局存储空间  HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize);LPVOID pvData = NULL;if (hGlobal == NULL)return E_FAIL;if ((pvData = GlobalLock(hGlobal)) == NULL)//锁定分配内存块  return E_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))return E_FAIL;OLE_XSIZE_HIMETRIC hmWidth; //图片的真实宽度, 单位为英寸 OLE_YSIZE_HIMETRIC hmHeight; //图片的真实高度, 单位为英寸pPic->get_Width(&hmWidth);pPic->get_Height(&hmHeight);
//转换hmWidth和hmHeight为pixels距离,1英寸=25.4毫米int nWidth = MulDiv(hmWidth,GetDeviceCaps(hDC_Temp,LOGPIXELSX),2540);int nHeight = 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)){return S_OK;}else{return E_FAIL;}
}

(2)不一样的控制台程序-----在控制台中输出图片
https://blog.csdn.net/haiross/article/details/38846633

C语言控制台程序中添加背景图片相关推荐

  1. Vue中添加背景图片

    往一个div中添加背景图片 bgImg:为图片地址 希望能帮到你!!

  2. 简历背景图片设置html代码,怎么在简历中添加背景图片

    在简历中添加背景图片的方法二 步骤1.在菜单栏选择图片->自来文件->选择图片后->确定; 步骤2.选图片->右键-->设置图片格式->版式->衬于文字下方; ...

  3. Qt中添加背景图片的方法

    Qt中添加背景图片的方法 QPalette的方法 #include #include int main(int argc, char *argv[]) { QApplication app(argc, ...

  4. 怎样在android中添加背景图片?

    怎样在android中添加背景图片? 1.打开左侧的工程文件夹.打开res中的layout,双击main.xml. 2.一般的图片是jpg格式的,要把格式转化为png格式的. 3.把PNG格式的图片拖 ...

  5. java swing背景_java Swing中添加背景图片(总结)

    在java GUI图形化设计中,Swing组件添加背景图片主要有两中情况:1,在Jpanl面板中添加背景图片,2,在jLable中添加背景图片 首先介绍一种最巧妙的背景图片添加方法, 1.利用JLab ...

  6. 如何使用PDF编辑软件在PDF文件中添加背景图片

    我们在做Word文档时有时候为了美观会给文档添加一个背景图片,当然了我们做PDF文档时给PDF文档添加一个背景图片也是必不可少的,但是我们应该怎么去给PDF文档添加背景图片呢?今天小编就把自己搜集的信 ...

  7. html表格中添加背景图片不平铺,如何在让Excel表格背景不平铺?

    如何在让Excel表格背景不平铺? 时间:2016-06-09来源: 网络作者: 未知点击: 次 Excel技巧:如何在让Excel表格背景不平铺? 接上期<如何在Excel表格中插入背景图片& ...

  8. qt中添加背景图片(stylesheet)

    项目建立完成后: 右键点你的项目 "Add New"->"QT Resource file" 生成一个qrc文件 然后双击它  点add 然后Add Pr ...

  9. linux qt 背景图片,《转》qt中添加背景图片(stylesheet)

    摘要: QT Create中,对button或者window等部件设置背景.颜色.透明等样式时,需要用到stylesheet,可以直接在代码里写,也可以在ui设计师里通过右键change styles ...

最新文章

  1. Sql语法---DDL
  2. 关于ProGuard的学习了解(从别处转来)
  3. npm 安装指定的第三方包
  4. 虹康三期倒垃圾时间和理发地点
  5. SAP Fiori 页面的周期性动态刷新功能的实现步骤
  6. fork创建多个子进程
  7. JVM性能优化之堆区域OOM问题
  8. 关于Android中的SlidingMenu中的用法
  9. python环境变量配置_怎么搭建python环境?很简单,就几步的事
  10. long 雪花算法_雪花算法(SnowFlake)Java版
  11. 使用 Capistrano 和写作 Ruby 迭代边缘部署
  12. Flutter进阶第1篇: http get请求数据、post提交数据、以及渲染动态数据
  13. [转]ASP.NET MVC中你必须知道的13个扩展点
  14. XCODE中,修改苹果APP支持哪些设备
  15. win10 ISO文件下载
  16. 【CSDN|每日一练】小艺的英文名
  17. 如何使用networkx导入txt文件数据并绘制
  18. Okhttp简单介绍
  19. uni-app个人中心页开发
  20. 脉冲神经网络(Spiking Neural Network,SNN)概述

热门文章

  1. 在线接口测试模拟移动端请求API接口
  2. 免编译安装Nginx_CentOS7编译安装nginx1.19.2
  3. Linux系统引导过程及修复
  4. 基于bmob后端云小程序开发——口袋吉他
  5. 转自百度 silverlight(转)
  6. 200万补贴!武汉市元宇宙产业创新发展方案申请条件、奖励补贴、流程
  7. bzoj 5041: LWD的降临
  8. 关于时间的模糊查询 mysql
  9. 第十八届全国大学智能汽车竞赛报名信息统计:华南赛区报名队伍
  10. RabbitMQ普通集群、镜像集群、集群负载均衡、压力测试、选举策略及测试、集群故障恢复【集群超大全详解】