1.打开显示图片:



2.打开任意格式图片:



3.显示黑白图:

1.打开VS2010,文件–新建–项目–MFC,选择基于对话框。
2.配置:项目–属性–常规–字符集–使用多字集。
3.运行空程序
4.添加图片框:picture control.在图片框下方添加按钮。
5.更改属性。复制变量IDC_SRCImage。回到VS2010,点击图片框,点属性–ID,更改为IDC_SRCImage。 buttton改为OPEN。
6.双击OPEN按钮,生成函数。复制代码。
7.没有声明变量,在第二行添加 CString m_strSrcBmpPath;
8.配置位图文件头:在第三行添加 BITMAPFILEHEADER m_pBmpFileHeader;
在第四行加上BITMAPINF0 m_pBmpInfo;
9.定义缓存:第五行加上
10.申请内存:读之前申请,在file.Read(m_pBmpFileHeader,14);前加上m_pBmpFileHeade = new BITNAPFULEHEADER[14];
在file.Read(m_pBmpInfo, 40+256
4);前加上
m_pBmpInfo = new BITMAPINF0[40+256
4];
在file.Read(m_pSrcBuf, m_pBmpInfo->bmiHeader.biSizeImage);前加上
m_pSrcBuf = new char[file.GetLength()];

修改好后的代码如下:
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,“bmp(.bmp)|.bmp||”,this);
char *m_pSrcBuf
BITNAPFULEHEADER *m_pBmpFileHeader;
if (dlg.DoModal()!=IDOK)
{
MessageBox(“图片打开失败”);
return;
}
m_strSrcBmpPath = dlg.GetPathName();

CFile file;
file.Open(m_strSrcBmpPath,CFile::modeRead);
m_pBmpFileHeade = new BITNAPFULEHEADER[14];
file.Read(m_pBmpFileHeader,14);
file.Seek(14,CFile::begin);
m_pBmpInfo = new BITMAPINF0[40+256*4];
file.Read(m_pBmpInfo, 40+256*4);
if (m_pBmpInfo->bmiHeader.biBitCount==8)//灰度图像,有调色板
{file.Seek(14+40+256*4,CFile::begin);
}
else if (m_pBmpInfo->bmiHeader.biBitCount==24)//彩色图像,无调色板
{file.Seek(14+40,CFile::begin);
}int iWidth = m_pBmpInfo->bmiHeader.biWidth;
int iHeight = m_pBmpInfo->bmiHeader.biHeight;
int iImgSize = m_pBmpInfo->bmiHeader.biSizeImage;
int iXPels = m_pBmpInfo->bmiHeader.biXPelsPerMeter;
int iYPels = m_pBmpInfo->bmiHeader.biYPelsPerMeter;
int biClrUsed = m_pBmpInfo->bmiHeader.biClrUsed;
int biClrImportant = m_pBmpInfo->bmiHeader.biClrImportant;
m_pSrcBuf = new char[file.GetLength()];
file.Read(m_pSrcBuf, m_pBmpInfo->bmiHeader.biSizeImage);
file.Close();Invalidate();

二.添加显示函数

CDC *m_pDC = GetDC();
CRect m_rc;
GetDlgItem(IDC_SRCImage)->GetWindowRect(&m_rc);
ScreenToClient(&m_rc);
::SetStretchBltMode(m_pDC->GetSafeHdc(),COLORONCOLOR);
::StretchDIBits(m_pDC->GetSafeHdc(),
m_rc.left,m_rc.top,m_rc.Width(),m_rc.Height(),
0,0,m_pBmpInfo->bmiHeader.biWidth,m_pBmpInfo->bmiHeader.biHeight,
m_pSrcBuf,m_pBmpInfo,
DIB_RGB_COLORS,SRCCOPY);

1.将CString m_strSrcBmpPath;
BITMAPINF0 *m_pBmpInfo;
剪切添加到15,16行(用于应用程序前)
2.设置对话框:在第二行添加CRect m_rc;
3.在17行添加全局变量:char Isbuttoned = 0;

三.VS2010删掉文件:
D:–programfiles(x86)–Mic vis s 10.0–vc–bin–(amd64)–cvtres.exe

VS2015编辑图片相关推荐

  1. vs2015开发c语言 简书,微软符号服务器_NT_SYMBOL_PATH给VS调试带来的隐藏坑

    昨天我碰到一个非常坑的问题,问题是这样的: 我机子上已经装了vs2015和vs2010,vs2010和vs2015都跑得很溜,没有啥异常现象.然后昨天我不知哪里来的突然想法:机子上有些资源需要打包收藏 ...

  2. vs2015编译linux源码,使用Visual Studio 2017(VS2017)编译OpenCC 1.0.4 (Open Chinese Convert)源代码...

    摘要:本文介绍了Win7 64位环境下OpenCC(Open Chinese Convert) 1.0.4源码编译全过程,除VS2017外,VS2013以上版本也应该基本同样适用,其他版本的Windo ...

  3. QT:(3)在VS2015下配置qt

    接上一篇我们已经在Win10下安装了QT5.12.8.因为使用VS2015习惯了所以想在VS2015上配置一下qt.方法如下: 1.在开始菜单下选择VS2015打开.(可以是VS的其他版本,本人使用的 ...

  4. [转]VS2015编译的程序在其他机器上缺少msvcp120.dll

    http://www.lai18.com/content/1159618.html 1. 今天分享一个自己在开发过程中遇到的困难. 用VS2015开发了一个windows客户端(win32项目),在自 ...

  5. VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

    为什么80%的码农都做不了架构师?>>>    x64: TITLE Add and Subtract (AddSub.asm) ; This program adds and su ...

  6. VS2015 Qt5

    Qt5.7 + VS2015 环境搭建 VS2015配置Qt5 Qt5 从官网下载:https://download.qt.io/archive/qt/5.13/5.13.0/qt-opensourc ...

  7. CUDA8.0+VS2015+Win10开发环境搭建教程

    文章目录 前言 一 安装VS2015 二 安装cuda8.0 三 检测cuda是否安装成功 四 运行示例demo来进一步检测cuda安装的正确性 五 新建一个VS2015工程,运行cuda程序 六 跋 ...

  8. VS2015+openGL配置

    转载:http://blog.csdn.net/Jacketinsysu/article/details/49563139 参考资料:百度经验  CSDN的博客(里面的有错误,vs配置也太老了,不值得 ...

  9. Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置

    最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...

  10. WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建

    为什么80%的码农都做不了架构师?>>>    一.准备工作 1 系统环境:Win10系统 2 开发工具:VS2015 3 驱动开发工具:WDK10 4 Windows SDK:SD ...

最新文章

  1. etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程
  2. 高速串行总线设计基础(四)眼图的形成原理
  3. delphi 回调函数例子 用函数过程作为参数
  4. python六角形的绘制
  5. 简单的一个用javascript做的'省市区'三级联动效果
  6. (八)Spring与MyBatis整合
  7. java常见_关于Java的常见误解
  8. 吴恩达深度学习4.4笔记_Convolutional Neural Networks_人脸识别和神经风格转换
  9. Git工作笔记003---Git常用命令总结
  10. 手机充电器5V=1A和5V=2A的区别是什么?能通用吗?
  11. 左右方块消除html5,html5消除方块游戏总结-对象
  12. et中计算机的快捷键,ET制版快捷键
  13. 如何禁止计算机自动安装驱动,安全第一 阻止Win7自动安装驱动程序
  14. 人才管理是什么意思_人力资源的HRM、HRD、CHO分别是什么意思?
  15. 手机与电脑局域网内数据互通
  16. Linux MMC原理及框架详解
  17. Google-Guava(Utilites)
  18. 基于Android的健康医疗论坛的设计与开发(android studio)
  19. Mysql报文理解mtu拆包依据(tso/gro)
  20. 利用云开发+Vant-Weapp开发的校园二手交易小程序

热门文章

  1. 7.5 SNN《脉冲神经网络研究进展综述》笔记
  2. python命令行进入帮助模式_python的help()用法
  3. Microsoft PPT文本框里首行缩进单位只能默认为厘米而不能设置为“字符”等其他单位?
  4. ASP.NET处理管道之防盗链
  5. Vmware14安装ubuntu18
  6. 电路基础-交流电-正弦量和相量
  7. 即时通讯IM技术领域提高篇
  8. Oracle SQL 批量修改资料库邮箱后缀名称
  9. 地球人都在玩跨境电商
  10. 我的MBTI职业性格测试