admin管理员组文章数量:1574098
软件架构师何志丹
using namespace SNXH;
using namespace SNMFC;
//无需cad,从dwg中读取缩略图,有的dwg没缩略图,CAD2014打开界面,可以看到缩略图
void ReadThumbnailBmp(const CString strBmpFileName,const CString& strDWGFileName)
{
CFile file;
if( !file.Open(strDWGFileName,CFile::modeRead))
{
return ;
}
int iPosSentinel = 0 ;
file.Seek(13,CFile::begin);
NFile::Read(file,iPosSentinel);
unsigned char iNum = 0 ;
file.Seek(iPosSentinel+20,CFile::begin);
NFile::Read(file,iNum);
for( int i = 0 ; i < iNum ; i++)
{
unsigned char iType = 0;
int iPos = 0 ,iLen = 0 ;
NFile::Read(file,iType);
NFile::Read(file,iPos);
NFile::Read(file,iLen);
if( 2 == iType )
{
file.Seek(iPos,CFile::begin);
CArray<unsigned char,unsigned char> v;
v.SetSize(iLen);
file.Read(v.GetData(),iLen);
{
BITMAPFILEHEADER fileHead;
CBmp::InitFileHead(fileHead,iLen);
CFile f2;
f2.Open(strBmpFileName,CFile::modeCreate|CFile::modeWrite);
f2.Write(&fileHead,sizeof(fileHead));
f2.Write(v.GetData(),iLen);
f2.Close();
}
break;
}
}
file.Close();
}
void CSNPictureDlg::OnButton1()
{
ReadThumbnailBmp(_T("d:\\3.dwg"),_T("d:\\1.bmp") );
}
版权声明:本文标题:无需cad,从dwg文件中读取缩略图 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727766793a1128549.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论