-
大小: 5.67MB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2023-08-16
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
對(duì)網(wǎng)絡(luò)上的字體圖片進(jìn)行處理,提取輪廓以后設(shè)定加工尺寸,然后生成G代碼,可惜現(xiàn)在只能進(jìn)行直線擬合,生成基于直線的G代碼,不過精度還可以,注:由于在圖片處理的過程中用到了openCV庫(kù),所以在編譯生成之前要配置openCV數(shù)據(jù)庫(kù),另外灰顯的功能正在添加中,能進(jìn)行輪廓的加工代碼生成,臨時(shí)不能進(jìn)行區(qū)域切除,也就是行切環(huán)切,在生成加工代碼的生成一些參數(shù)還沒有進(jìn)行處理,不過那是很容易的,修改一下就可以了

代碼片段和文件信息
//?cdib.cpp
#include?“stdafx.h“
#include?“math.h“
#include?“process.h“
#include?“cdib.h“
#include?“GlobalApi.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
//?聲明串行化過程
IMPLEMENT_SERIAL(CDib?Cobject?0);
/*************************************************************************
?*
?*?\函數(shù)名稱:
?*???CDib()
?*
?*?\輸入?yún)?shù):
?*?無
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???構(gòu)造函數(shù)
?*
?************************************************************************
?*/
CDib::CDib()
{
m_hFile??????=?NULL;
m_hBitmap????=?NULL;
m_hPalette???=?NULL;
m_nBmihAlloc?=?m_nImageAlloc?=?noAlloc;
Empty();
}
/*************************************************************************
?*
?*?\函數(shù)名稱:
?*???CDib()
?*
?*?\輸入?yún)?shù):
?*?CSize size -?位圖尺寸
?*?int nBitCount -?象素位數(shù)
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???構(gòu)造函數(shù)
?*???根據(jù)給定的位圖尺寸和象素位數(shù)構(gòu)造CDib對(duì)象,并對(duì)信息頭和調(diào)色板分配內(nèi)存
?*???但并沒有給位圖數(shù)據(jù)分配內(nèi)存
?*
?************************************************************************
?*/
CDib::CDib(CSize?size?int?nBitCount)
{
m_hFile??????=?NULL;
m_hBitmap????=?NULL;
m_hPalette???=?NULL;
m_nBmihAlloc?=?m_nImageAlloc?=?noAlloc;
Empty();
//?根據(jù)象素位數(shù)計(jì)算調(diào)色板尺寸
ComputePaletteSize(nBitCount);
//?分配DIB信息頭和調(diào)色板的內(nèi)存
m_lpBMIH?=?(LPBITMAPINFOHEADER)?new?
char[sizeof(BITMAPINFOHEADER)?+?sizeof(RGBQUAD)?*?m_nColorTableEntries];
//?設(shè)置信息頭內(nèi)存分配狀態(tài)
m_nBmihAlloc?=?crtAlloc;
//?設(shè)置信息頭中的信息
m_lpBMIH->biSize =?sizeof(BITMAPINFOHEADER);
m_lpBMIH->biWidth =?size.cx;
m_lpBMIH->biHeight =?size.cy;
m_lpBMIH->biPlanes =?1;
m_lpBMIH->biBitCount =?nBitCount;
m_lpBMIH->biCompression?=?BI_RGB;
m_lpBMIH->biSizeImage =?0;
m_lpBMIH->biXPelsPerMeter?=?0;
m_lpBMIH->biYPelsPerMeter?=?0;
m_lpBMIH->biClrUsed =?m_nColorTableEntries;
m_lpBMIH->biClrImportant=?m_nColorTableEntries;
//?計(jì)算圖象數(shù)據(jù)內(nèi)存的大小,并設(shè)置此DIB的調(diào)色板的指針
ComputeMetrics();
//?將此DIB的調(diào)色板初始化為0
memset(m_lpvColorTable?0?sizeof(RGBQUAD)?*?m_nColorTableEntries);
//?暫時(shí)不分配圖象數(shù)據(jù)內(nèi)存
m_lpImage?=?NULL;?
}
/*************************************************************************
?*
?*?\函數(shù)名稱:
?*???~CDib()
?*
?*?\輸入?yún)?shù):
?*?無
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???析構(gòu)函數(shù),并釋放所有分配的DIB內(nèi)存
?*
?************************************************************************
?*/
CDib::~CDib()
{
Empty();
}
/*************************************************************************
?*
?*?\函數(shù)名稱:
?*???GetDimensions()
?*
?*?\輸入?yún)?shù):
?*???無
?*
?*?\返回值:
?*???CSize -?DIB的寬度和高度
?*
?*?\說明:
?*???返回以象素表示的DIB的寬度和高度
?*
?************************************************************************
?*/
CSize?CDib::GetDimensions()
{
if(m_lpBMIH?==?NULL)?return?CSize(0?0);
return?CSize((int)?m_lpBMIH->biWidth?(int)?m_lpBMIH->biHeight);
}
/*************************************************************************
?*
?*?\函數(shù)名稱:
?*???AttachMapFile()
?*
?*?\輸入?yún)?shù):
?*???const char*?strPathname -?映射文件的路徑名
?*???BOOL bShare -
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-06-12?17:05??程序\
?????文件??????????38??2012-05-27?22:01??程序\.txt
?????文件??????199178??2012-05-28?13:27??程序\856245_2.bmp
?????目錄???????????0??2012-06-12?17:05??程序\Debug\
?????文件????????2601??2012-06-12?17:05??程序\MainFrm.cpp
?????文件????????1581??2012-05-27?22:01??程序\MainFrm.h
?????文件???????34992??2012-06-12?16:58??程序\MyDIP.aps
?????文件????????5063??2012-06-12?17:05??程序\MyDIP.clw
?????文件????????4158??2012-05-27?22:01??程序\MyDIP.cpp
?????文件????????5069??2012-05-27?22:01??程序\MyDIP.dsp
?????文件?????????533??2012-05-27?22:01??程序\MyDIP.dsw
?????文件????????1345??2012-05-27?22:01??程序\MyDIP.h
?????文件??????492544??2012-06-12?17:05??程序\MyDIP.ncb
?????文件???????54784??2012-06-12?17:05??程序\MyDIP.opt
?????文件????????1315??2012-06-12?17:05??程序\MyDIP.plg
?????文件???????16490??2012-05-29?12:01??程序\MyDIP.rc
?????文件????????4727??2012-05-27?22:01??程序\MyDIPDoc.cpp
?????文件????????1921??2012-05-27?22:01??程序\MyDIPDoc.h
?????文件???????24934??2012-06-12?17:01??程序\MyDIPView.cpp
?????文件????????2214??2012-06-12?17:01??程序\MyDIPView.h
?????文件?????????948??2012-05-27?22:01??程序\Out.cpp
?????文件????????1189??2012-05-27?22:01??程序\Out.h
?????文件????????3363??2012-05-28?18:10??程序\OutPut.cpp
?????文件????????1285??2012-05-28?18:02??程序\OutPut.h
?????文件????????4287??2012-05-27?22:01??程序\ReadMe.txt
?????目錄???????????0??2012-06-12?16:58??程序\Release\
?????文件?????????864??2012-05-27?22:01??程序\Release\Input2.sbr
?????文件???????13006??2012-06-12?17:05??程序\Release\MainFrm.obj
?????文件????????4345??2012-06-12?17:05??程序\Release\MainFrm.sbr
?????文件?????5882880??2012-05-27?22:01??程序\Release\MyDIP.bsc
?????文件???????49152??2012-06-12?17:05??程序\Release\MyDIP.exe
............此處省略58個(gè)文件信息
評(píng)論
共有 條評(píng)論