国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

西門子圖片比較粗糙的一個算法

2019-11-18 20:08:51
字體:
來源:轉載
供稿:網友
int CRingTOOLDlg::ConvertSiemensPic()
{
UpdateData(TRUE);
CByteArray arrayMessage, sRing;
CString sWrite, sFileTitle, sToFile, sFileID;
sToFile.Format("%s//siemens.pic",m_sPath);
UTIL_Base64Coder base64;
CStdioFile fFromFile, fToFile(sToFile, CFile::modeCreate | CFile::modeReadWrite);// |CFile::typeBinary);;
CFileFind cDlgFile;
char sMessage[256], sRead[8000];
int count=3500, nFileLen=0;
//頭信息
char identifier[5] = {'/','/','S','E','O'};
BYTE version = 1;
short datasize;
int referenzID = 1500 ,len=0;
short actnumber = 0;
short packnumber;
char objectsize[4];
char objecttype[4] = {0x3,'b','m','p'};
char objectname[20];
char data[200];

memset(sMessage,0,sizeof(sMessage));
memset(sRead,0,sizeof(sRead));
memset(objectsize,0,4);
::SetCurrentDirectory(m_sPath);
TRY
{
if(cDlgFile.FindFile())
{
while(cDlgFile.FindNextFile())
{
CString sFile = cDlgFile.GetFileName();
if(sFile.Right(4).CompareNoCase(".bmp"))
continue;
sFileID.Format("1%d", referenzID);
len = sFile.GetLength();//sFile.GetLength();
sFileTitle = sFile.Left(sFile.GetLength()-4);
CFileException e;
if(!fFromFile.Open(sFile,CFile::modeRead | CFile::typeBinary,&e))
continue;
nFileLen = fFromFile.GetLength();
if(fFromFile.Read(sRead, nFileLen)>0)
{
memcpy(objectsize,sRead+2,2);
objectname[0] = len;
memcpy(objectname+1,sFile, len);
datasize = 140 - 25 - len;
int nSize, nLast;
memcpy(&nSize, objectsize, 4);
nLast = nSize%datasize;
if(nLast)
packnumber = nSize/datasize + 1;
else
packnumber = nSize/datasize;
actnumber = 0;

//設置頭信息
memcpy(sMessage, identifier, 5);
memcpy(sMessage+5, &version, 1);
memcpy(sMessage+6, &datasize, 2);
memcpy(sMessage+8, &referenzID, 4);
memcpy(sMessage+14, &packnumber, 2);
memcpy(sMessage+16, objectsize, 4);
memcpy(sMessage+20, objecttype, 4);
memcpy(sMessage+24, objectname, len +1);
referenzID++;
for(int i=1; i<=packnumber; i++)
{
actnumber ++;
memcpy(sMessage+12, &actnumber, 2);

if(!nLast || i<packnumber)
{
memcpy(sMessage+25+len,sRead+(i-1)*datasize, datasize);
CByteArray src_array;
src_array.SetSize(140);
void *src_buffer = src_array.GetData();
memcpy(src_buffer, sMessage, 140);
base64.Encode(src_array,sRing);
}
else if(i == packnumber)
{
memcpy(sMessage+25+len,sRead+(i-1)*datasize, nLast);
CByteArray src_array;
src_array.SetSize(25+len+nLast);
void *src_buffer = src_array.GetData();
memcpy(src_buffer, sMessage, 25+len+nLast);
base64.Encode(src_array,sRing);
}

//保存到文本文件里
sWrite.Format("%d,%s,%s/r/n",count,sFileID,sRing.GetData());
fToFile.WriteString(sWrite);
}

}
fFromFile.Close();
count++;
Sleep(10);
}

AfxMessageBox("completed!");
}
}
CATCH( CFileException, e )
{
   #ifdef _DEBUG
  afxDump << "File could not be opened " << e->m_cause << "/n";
   #endif

}
END_CATCH
cDlgFile.Close();
return count;
}

最近寫的工具中處理西門子圖片的一個批量算法,比較粗糙,弄完后也沒有去優化,但絕對可用。已經將需要的頭包進去了,最后是按BASE64存放在文本文件里的,大家可以參考一下。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铁岭市| 贵溪市| 连州市| 衡山县| 辽阳市| 德钦县| 望谟县| 土默特右旗| 忻城县| 锦州市| 堆龙德庆县| 于都县| 新兴县| 通江县| 青海省| 金门县| 巴彦淖尔市| 禹州市| 遂昌县| 崇明县| 二手房| 怀远县| 太原市| 大竹县| 阿勒泰市| 合山市| 白玉县| 武定县| 汽车| 溧水县| 睢宁县| 邓州市| 沛县| 梨树县| 临安市| 九龙县| 洛浦县| 玛多县| 双峰县| 晋江市| 交口县|