我现在要做一个CMX文件的导入和导出(从我自己定义的图像文件导出),但是对图像文件的读取没有一点头绪,哪位能够提供以下这方面的资料,VC的. 现在初步要做的是把一条线 存储坐标的线导出到CMX文件中,然后用coreldraw可以实现读取这条线.但是本人对于vc下文件的编程读取与写入还没有一点概念,所以希望大家提供点这方面的资料我看看.现在手头已有coreldraw关于cmx文件的说明. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是一段从图形文件中读取数据的代码。 建议找些这方面的例子看看。BOOL CPicture::Load(CString sFilePathName)//============================================================================={ BOOL bResult = FALSE; CFile PictureFile; CFileException e; int nSize = 0; if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks... if(PictureFile.Open(sFilePathName, CFile::modeRead | CFile::typeBinary, &e)) { nSize = PictureFile.GetLength(); BYTE* pBuffer = new BYTE[nSize]; if(PictureFile.Read(pBuffer, nSize) > 0) { if(LoadPictureData(pBuffer, nSize)) bResult = TRUE; } PictureFile.Close(); delete [] pBuffer; } else // Open Failed... { TCHAR szCause[255]; e.GetErrorMessage(szCause, 255, NULL); HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd; MessageBoxEx(hWnd, szCause, ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH); bResult = FALSE; } m_Weight = nSize; // Update Picture Size Info... if(m_IPicture != NULL) // Do Not Try To Read From Memory That Is Not Exist... { m_IPicture->get_Height(&m_Height); m_IPicture->get_Width(&m_Width); // Calculate Its Size On a "Standard" (96 DPI) Device Context m_Height = MulDiv(m_Height, 96, HIMETRIC_INCH); m_Width = MulDiv(m_Width, 96, HIMETRIC_INCH); } else // Picture Data Is Not a Known Picture Type { m_Height = 0; m_Width = 0; bResult = FALSE; } return(bResult);} 利用 CFile 或者 CreateFile 等API 来实现文件的读写。 VC判断对话框如何 Border ? 请教各位大侠:如何在VC和DEPHI之间传递消息? 有没有钩子的例子是基本标准 C++ 的,现在网上都是MFC~!求 C++的 为何在对话框上的控件可以接收消息,而一般的窗口却不可以? 获得记录集的问题? 請問怎麼獲得文件夾的系統小圖標? 今天我下载了一个“免费国际传真”的软件,有谁知道他的原理,分数不够在家,我只知道他好像要借助于EMAIL。 ADO编程(初学者) 有关消息的问题 MFC的activex怎么引入对话框? CStatic类扩展OnMouseMove响应问题 为什么无法添加虚函数??
BOOL CPicture::Load(CString sFilePathName)
//=============================================================================
{
BOOL bResult = FALSE;
CFile PictureFile;
CFileException e;
int nSize = 0; if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks... if(PictureFile.Open(sFilePathName, CFile::modeRead | CFile::typeBinary, &e))
{
nSize = PictureFile.GetLength();
BYTE* pBuffer = new BYTE[nSize];
if(PictureFile.Read(pBuffer, nSize) > 0)
{
if(LoadPictureData(pBuffer, nSize)) bResult = TRUE;
} PictureFile.Close();
delete [] pBuffer;
}
else // Open Failed...
{
TCHAR szCause[255];
e.GetErrorMessage(szCause, 255, NULL);
HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
MessageBoxEx(hWnd, szCause, ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
bResult = FALSE;
} m_Weight = nSize; // Update Picture Size Info... if(m_IPicture != NULL) // Do Not Try To Read From Memory That Is Not Exist...
{
m_IPicture->get_Height(&m_Height);
m_IPicture->get_Width(&m_Width);
// Calculate Its Size On a "Standard" (96 DPI) Device Context
m_Height = MulDiv(m_Height, 96, HIMETRIC_INCH);
m_Width = MulDiv(m_Width, 96, HIMETRIC_INCH);
}
else // Picture Data Is Not a Known Picture Type
{
m_Height = 0;
m_Width = 0;
bResult = FALSE;
} return(bResult);
}