openfile.h

来自「一个带有源码的完整的熵编码程序,使用vC++编写,直接编译链接就可以运行,执行速」· C头文件 代码 · 共 124 行

H
124
字号
#include "stdafx.h"
#include <stdio.h>

 
BYTE * OpenBMP(CString fileName,long *width,long *height)
{
	BYTE * pData;
	*width = 0;
	*height = 0;
	if(fileName=="")
		return NULL;

	BITMAPINFO bmpInfo;
	BITMAPFILEHEADER bmpFileHead;
	CFile file;
	if((file.Open(fileName,CFile::modeRead|CFile::shareDenyNone))==NULL)
	{
		AfxMessageBox("Can not open the file");
		return NULL;
	}
 
	file.Read(&bmpFileHead,sizeof(BITMAPFILEHEADER));
	file.Read(&bmpInfo,sizeof(BITMAPINFOHEADER));

	*width = bmpInfo.bmiHeader.biWidth;
 	*height = bmpInfo.bmiHeader.biHeight;
	long lFileSize = bmpFileHead.bfSize - bmpFileHead.bfOffBits;
	pData = (BYTE*)new char[lFileSize];
	if(!pData)
		return NULL;

 	file.ReadHuge(pData,lFileSize);
	file.Close();

 	return pData;

}
BYTE * OpenRAW(CString fileName,long *width,long *height)
{
	BYTE * pData;


	if(fileName=="")
		return FALSE;

	*width = 352;
	*height = 240;
 	long lFileSize = (*width) * (*height);
	pData = (BYTE*)new char[lFileSize];

	CFile file;
	if((file.Open(fileName,CFile::modeRead|CFile::shareDenyNone))==NULL)
	{
		AfxMessageBox("Can not open the file");
		return NULL;
	}
 	 
	if(!pData)
		return NULL;

 	file.ReadHuge(pData,lFileSize);
	file.Close();

	return pData;

}

BYTE * OpenGRAY(CString fileName,long *width,long *height)
{
	BYTE * pData;
	if(fileName=="")
		return FALSE;

	*width = 360;
	*height = 288;
 	long lFileSize = (*width) * (*height);
	pData = (BYTE*)new char[lFileSize];

	CFile file;
	if((file.Open(fileName,CFile::modeRead|CFile::shareDenyNone))==NULL)
	{
		AfxMessageBox("Can not open the file");
		return NULL;
	}
 	 
	if(!pData)
		return NULL;

 	file.ReadHuge(pData,lFileSize);
	file.Close();


	return pData;

}

BYTE * OpenSIF(CString fileName,long *width,long *height)
{
	BYTE * pData;
	if(fileName=="")
		return FALSE;

	*width = 352;
	*height = 240;
 	long lFileSize = (*width) * (*height);
	pData = (BYTE*)new char[lFileSize];

	CFile file;
	if((file.Open(fileName,CFile::modeRead|CFile::shareDenyNone))==NULL)
	{
		AfxMessageBox("Can not open the file");
		return NULL;
	}
 	 
	if(!pData)
		return NULL;

 	file.ReadHuge(pData,lFileSize);
	file.Close();


	return pData;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?