// BitmapRead.cpp : 定义应用程序的入口点。
//
#include "stdafx.h"
#include "cstdio"
#include "commdlg.h"
#include "BitmapRead.h"
#include "GrayStretchDlg.h"
using namespace std;
#define MAX_LOADSTRING 100
#define LINE 256
#define RAW 256
// 全局变量:
HINSTANCE hInst; // 当前实例
WCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本
WCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
unsigned char ImageRAW[RAW][LINE],
ImageTran[RAW][LINE],ImageBMP[RAW][LINE];
GrayStretchDlg graystretch;
char m_strPath[MAX_LOADSTRING], m_strName[MAX_LOADSTRING];
// 此代码模块中包含的函数的前向声明:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK BmpAPI(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK RawAPI(HWND, UINT, WPARAM, LPARAM);
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// TODO: 在此处放置代码。
// 初始化全局字符串
LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadStringW(hInstance, IDC_BITMAPREAD, szWindowClass, MAX_LOADSTRING);
MyRegisterClass(hInstance);
// 执行应用程序初始化:
if (!InitInstance (hInstance, nCmdShow))
{
return FALSE;
}
HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_BITMAPREAD));
MSG msg;
// 主消息循环:
while (GetMessage(&msg, nullptr, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return (int) msg.wParam;
}
//
// 函数: MyRegisterClass()
//
// 目标: 注册窗口类。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEXW wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_BITMAPREAD));
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_BITMAPREAD);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassExW(&wcex);
}
//
// 函数: InitInstance(HINSTANCE, int)
//
// 目标: 保存实例句柄并创建主窗口
//
// 注释:
//
// 在此函数中,我们在全局变量中保存实例句柄并
// 创建和显示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
hInst = hInstance; // 将实例句柄存储在全局变量中
HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
if (!hWnd)
{
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
//
// 函数: WndProc(HWND, UINT, WPARAM, LPARAM)
//
// 目标: 处理主窗口的消息。
//
// WM_COMMAND - 处理应用程序菜单
// WM_PAINT - 绘制主窗口
// WM_DESTROY - 发送退出消息并返回
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
// 分析菜单选择:
switch (wmId)
{
case IDM_BITMAP:
DialogBox(hInst, MAKEINTRESOURCE(IDD_BITMAPREAD_DIALOG), hWnd, BmpAPI);
break;
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_RAW:
DialogBox(hInst, MAKEINTRESOURCE(IDD_RAW_TRANS_DIALOG), hWnd, RawAPI);
break;
�
没有合适的资源?快使用搜索试试~ 我知道了~
vs上使用MFC图形化读取BMP文件
共85个文件
tmp:28个
ipch:11个
tlog:9个
需积分: 39 11 下载量 85 浏览量
2020-10-09
11:14:44
上传
评论
收藏 35.26MB ZIP 举报
温馨提示
在visual studio上基于MFC实现BMP图片读取,在图形化界面可操作,待改进功能包括线性变换,直方图均衡化,规定化等。
资源推荐
资源详情
资源评论
收起资源包目录
BitmapRead.zip (85个子文件)
BitmapRead
sy1.raw 64KB
.vs
BitmapRead
v16
.suo 56KB
Browse.VC.db 32.97MB
v15
ipch
AutoPCH
6a4b00357e9730a7
GRAYSTRETCHDLG.ipch 320KB
1de64a36f6607936
IMAGE3160672031VIEW.ipch 320KB
7e0023aec8855ad4
GRAYSTRETCHDLG.ipch 320KB
79de8d2f7c0c6c5c
GRAYSTRETCHDLG.ipch 320KB
16aa30814cee807b
CSDN_REDRAWWINDOWDLG.ipch 1.38MB
49d662b94f9c3801
IMAGE3160672031VIEW.ipch 320KB
13a9c30968c2a944
CSDN_REDRAWWINDOW.ipch 1.38MB
8a1d770b26b15dce
GRAYSTRETCHDLG.ipch 320KB
fae7446f64f21265
GRAYSTRETCHDLG.ipch 320KB
9b48ea104424c0bb
GRAYSTRETCHDLG.ipch 320KB
428d851c1d4dd7ad.ipch 23.63MB
.suo 60KB
Browse.VC.db 41.39MB
BitmapRead.sln 1KB
Debug
BitmapRead.exe 173KB
BitmapRead.pdb 580KB
BitmapRead.ilk 474KB
BitmapRead
GrayStretchDlg.h 151B
~VC1CE6.tmp 10KB
~VC2D5D.tmp 0B
~VC4372.tmp 0B
~VC8112.tmp 0B
~VCE7C.tmp 0B
resource.h 3KB
~VC8B47.tmp 0B
stdafx.h 672B
~VC8B68.tmp 0B
GrayStretchDlg.cpp 197B
BitmapRead.h 80B
~VC8101.tmp 10KB
~VC8113.tmp 0B
~VC8B67.tmp 0B
BitmapRead.rc 10KB
hand.cur 326B
targetver.h 368B
~VC1CF9.tmp 0B
~VC2DA1.tmp 0B
~VC2DA2.tmp 0B
BitmapRead.vcxproj.filters 2KB
small.ico 45KB
~VC8102.tmp 0B
~VC4371.tmp 0B
BitmapRead.cpp 25KB
Debug
BitmapRead.obj 32KB
stdafx.obj 117KB
BitmapRead.pch 7.88MB
vc142.pdb 508KB
vc142.idb 283KB
BitmapRead.log 71B
vc141.pdb 508KB
GrayStretchDlg.obj 5KB
BitmapRead.exe.recipe 254B
BitmapRead.res 92KB
vc141.idb 307KB
BitmapRead.tlog
link.read.1.tlog 3KB
link.command.1.tlog 3KB
CL.command.1.tlog 5KB
rc.write.1.tlog 210B
CL.write.1.tlog 2KB
rc.command.1.tlog 656B
rc.read.1.tlog 2KB
BitmapRead.lastbuildstate 153B
CL.read.1.tlog 15KB
link.write.1.tlog 2KB
stdafx.cpp 44B
~VC63EB.tmp 10KB
~VC434F.tmp 0B
~VC2D5C.tmp 10KB
~VCE8C.tmp 0B
~VCE8D.tmp 0B
~VC63EC.tmp 0B
BitmapRead.ico 45KB
~VC6431.tmp 0B
~VCE7B.tmp 10KB
~VC6430.tmp 0B
~VC8B46.tmp 10KB
~VC1CE7.tmp 0B
BitmapRead.vcxproj.user 165B
~VC1CF8.tmp 0B
BitmapRead.vcxproj 9KB
~VC434E.tmp 10KB
lena.bmp 65KB
共 85 条
- 1
资源评论
第89号
- 粉丝: 20
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功