首页 科普 资讯 养生 问答 找医院 相关问答
首页> 问答

求教:我是超级菜鸟,想问问各位高手,用VC++6.0处理图像的时候建立什么...

发布网友 发布时间:2024-10-24 16:22

我来回答

4个回答

热心网友 时间:2024-10-24 21:13

原则上任何cpp文件都可以处理图像的,只不过看你把打开图像文件的句柄放在什么位置上
例如:文件-〉新建-〉工程-〉MFC AppWizard.EXE-〉起个工程名字,我选择aaa,然后点下一步-〉选择单文档或者双重文档都可以,看你的需求,接下来同样如此,直接选择默认也可。然后会自动建立几个文件,比如CAaaView类,CAaaApp类,CAaaDoc类,CMainframe类等等,主要看你头几步的选择,然后会出现源文件有aaa.cpp, aaa.rc, aaaDoc.cpp, aaaView.cpp, MainFrm.cpp, StdAfx.cpp,对应的头文件就是上面的名字,后缀是.h的,不过aaa.rc对应的是Resource.h文件,这个存储的是菜单。好了完成这一步,许多代码都自动填充进相应的文件了。
aaa.cpp一般来讲,程序运行的时候,就是先运行它,然后完成各类窗体的初始化,不过代码一般不放在这里。
把打开图像的过程放在aaaDoc.cpp中的CAaaDoc::OnNewDocument()中(这个是自动定义好的)
CFile file; //CFile类
CFileException fe;
// 打开文件
if (!file.Open(lpszPathName, CFile::modeRead | CFile::shareDenyWrite, &fe))
{
// 失败
ReportSaveLoadException(lpszPathName, &fe,
FALSE, AFX_IDP_FAILED_TO_OPEN_DOC);
// 返回FALSE
return FALSE;
}
BITMAPFILEHEADER bmfHeader; //BMP文件头
DWORD dwBitsSize;
HDIB hDIB;
LPSTR pDIB;
// 获取DIB(文件)长度(字节)
dwBitsSize = file.GetLength();
// 尝试读取DIB文件头
if (file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader)) != sizeof(bmfHeader))
{
// 大小不对,返回NULL。
return NULL;
}
// 判断是否是DIB对象,检查头两个字节是否是"BM"
if (bmfHeader.bfType != DIB_HEADER_MARKER)
{
// 非DIB对象,返回NULL。
return NULL;
}
// 为DIB分配内存,这里hDIB就是打开BMP文件并读取数据到内存中的句柄了,任何修改不通过它是不行的
hDIB = (HDIB) ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwBitsSize);
if (hDIB == 0)
{
// 内存分配失败,返回NULL。
return NULL;
}
// 锁定 pDIB是返回该句柄的指针
pDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
// 读象素
if (file.ReadHuge(pDIB, dwBitsSize - sizeof(BITMAPFILEHEADER)) !=
dwBitsSize - sizeof(BITMAPFILEHEADER) )
{
// 大小不对。
// 解除锁定
::GlobalUnlock((HGLOBAL) hDIB);
// 释放内存
::GlobalFree((HGLOBAL) hDIB);
// 返回NULL。
return NULL;
}
// 解除锁定
::GlobalUnlock((HGLOBAL) hDIB);
// 返回DIB句柄
return hDIB;
就是这些语句,不过,这些读取DIB位图有专门的一个函数库,你可以直接添加这些文件就行了
有 DIBAPI.CPP DIBAPI.h你自己上网上搜索就有下载。不是源代码,切误复制运行。
上面把图像读到内存中,返回句柄hDIB,然后呢你需要在
aaaView::OnDraw(CDC* pDC) 里面继续添加代码,好把内存中的图像显示出来,这里也需要用到DIBAPI.CPP里面的函数,要不自己编,可是太麻烦了。我给你列出这些函数吧,自己看看就知道了。
// ************************************************************************
// 文件名:dibapi.cpp
//
// DIB(Independent Bitmap) API函数库:
//
// PaintDIB() - 绘制DIB对象
// CreateDIBPalette() - 创建DIB对象调色板
// FindDIBBits() - 返回DIB图像象素起始位置
// DIBWidth() - 返回DIB宽度
// DIBHeight() - 返回DIB高度
// PaletteSize() - 返回DIB调色板大小
// DIBNumColors() - 计算DIB调色板颜色数目
// CopyHandle() - 拷贝内存块
//
// SaveDIB() - 将DIB保存到指定文件中
// ReadDIBFile() - 重指定文件中读取DIB对象
//
// DIBToPCX256() - 将指定的256色DIB对象保存为256色PCX文件
// ReadPCX256() - 读取256色PCX文件
//
// ************************************************************************

热心网友 时间:2024-10-24 21:13

如果是MFC的话,从下方选择第二个标签,单击工程点右键选择impor然后t选择图片,不过必须图片是bmp格式的,

热心网友 时间:2024-10-24 21:15

不知道。

热心网友 时间:2024-10-24 21:17

我有一些图像处理的代码 发到你的邮箱了。
什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 ...抖音秋风萧瑟凛冽漫天飞舞风雪是什么歌是什么 仰望半月的夜空 小说也发我一份 284535087@qq.com 谢谢 仰望半月的夜空小说 仰望半月的夜空原声集 丽江旅游需要带什么必需品 求《仰望半月的夜空》全中文小说。TXT 做兄弟的要讲义气走江湖要讲道义什么歌-做兄弟的要讲义气走江湖要讲道义... 电子商务学了出来干嘛 就业方向是什么大家知道吗 余数要比除数大还是小 仰望半月之空 『小说』 完结了么?!!是小说哦!! ...是什么歌介绍_抖音陪你去闯荡陪你去疯狂是什么歌是什么 我27的大男人,脸长的却不是很成熟,有人说我像20出头的,这影响到我在... 求《仰望半月的夜空》小说全集,txt文档的,十分感谢 如果余数比除数大,说明商小了,应调大.…正确正确. 什么平台好小额借款 系统盘c盘的格式 fat转为fat32 你好请问下我oppor829t有时间屏幕失灵怎办 你最喜欢多大年纪的女人? 我是超级菜鸟,我想在photoshop制作一个6寸相片大小的高清图片,请问文档... 公司主营业务,公司主要产品。写尽调报告时是否要放到一起,还是分开描述... tiguan tsi是什么车 我是菜鸟级别的人 请问怎样用手机聊天 ...1)如图,△ABC绕点A旋转得到△ADE,旋转中心是点___,点B的对应点是点... 我是 一个超级菜鸟 请问root Unix是超级管理员那admin windows NT... tiguan tsi是什么车 哪个牌子三伏贴好 我是超级菜鸟,我想在photoshop制作一个6寸相片大小的高清图片,请问文档... tiguan,tsi是什么车 安庆至北京火车是否可以现在在网上售票? 如图,△ABC绕点A旋转得到△ADE,恰好使点C旋转后落在直线BC上的_百度知... 如图,△ABC绕点A旋转得到△ADE,恰好使点C旋转后落在直线BC上的E点... 自考生可以考哪些资格证书 自考学历可以考哪些证 建立一个自己的网站大约要花费多少钱? 如图,将△ABC绕点A旋转后得到△ADE,则旋转度数为__ 安庆到北京西列车现在荷泽站不停靠吗 哪位记得2007年2月24日1428次从安庆到北京西站的列车出站口是哪个? 不能要初恋之物啥意思 去火车站能买到明天安庆去北京西的火车票吗? 遇到初恋男友送礼物,,自己是否也要送他礼物喃
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com