VS2015编辑图片
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+2564);前加上
m_pBmpInfo = new BITMAPINF0[40+2564];
在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编辑图片相关推荐
- vs2015开发c语言 简书,微软符号服务器_NT_SYMBOL_PATH给VS调试带来的隐藏坑
昨天我碰到一个非常坑的问题,问题是这样的: 我机子上已经装了vs2015和vs2010,vs2010和vs2015都跑得很溜,没有啥异常现象.然后昨天我不知哪里来的突然想法:机子上有些资源需要打包收藏 ...
- 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 ...
- QT:(3)在VS2015下配置qt
接上一篇我们已经在Win10下安装了QT5.12.8.因为使用VS2015习惯了所以想在VS2015上配置一下qt.方法如下: 1.在开始菜单下选择VS2015打开.(可以是VS的其他版本,本人使用的 ...
- [转]VS2015编译的程序在其他机器上缺少msvcp120.dll
http://www.lai18.com/content/1159618.html 1. 今天分享一个自己在开发过程中遇到的困难. 用VS2015开发了一个windows客户端(win32项目),在自 ...
- VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】
为什么80%的码农都做不了架构师?>>> x64: TITLE Add and Subtract (AddSub.asm) ; This program adds and su ...
- VS2015 Qt5
Qt5.7 + VS2015 环境搭建 VS2015配置Qt5 Qt5 从官网下载:https://download.qt.io/archive/qt/5.13/5.13.0/qt-opensourc ...
- CUDA8.0+VS2015+Win10开发环境搭建教程
文章目录 前言 一 安装VS2015 二 安装cuda8.0 三 检测cuda是否安装成功 四 运行示例demo来进一步检测cuda安装的正确性 五 新建一个VS2015工程,运行cuda程序 六 跋 ...
- VS2015+openGL配置
转载:http://blog.csdn.net/Jacketinsysu/article/details/49563139 参考资料:百度经验 CSDN的博客(里面的有错误,vs配置也太老了,不值得 ...
- Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...
- WIN10 + VS2015 + WDK10 + SDK10 + VM虚拟机驱动开发调试环境搭建
为什么80%的码农都做不了架构师?>>> 一.准备工作 1 系统环境:Win10系统 2 开发工具:VS2015 3 驱动开发工具:WDK10 4 Windows SDK:SD ...
最新文章
- etcd 笔记(05)— etcd 代码结构、各模块功能、整体架构、各模块之间的交互、请求和应答流程
- 高速串行总线设计基础(四)眼图的形成原理
- delphi 回调函数例子 用函数过程作为参数
- python六角形的绘制
- 简单的一个用javascript做的'省市区'三级联动效果
- (八)Spring与MyBatis整合
- java常见_关于Java的常见误解
- 吴恩达深度学习4.4笔记_Convolutional Neural Networks_人脸识别和神经风格转换
- Git工作笔记003---Git常用命令总结
- 手机充电器5V=1A和5V=2A的区别是什么?能通用吗?
- 左右方块消除html5,html5消除方块游戏总结-对象
- et中计算机的快捷键,ET制版快捷键
- 如何禁止计算机自动安装驱动,安全第一 阻止Win7自动安装驱动程序
- 人才管理是什么意思_人力资源的HRM、HRD、CHO分别是什么意思?
- 手机与电脑局域网内数据互通
- Linux MMC原理及框架详解
- Google-Guava(Utilites)
- 基于Android的健康医疗论坛的设计与开发(android studio)
- Mysql报文理解mtu拆包依据(tso/gro)
- 利用云开发+Vant-Weapp开发的校园二手交易小程序