博客日历
2025年06月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
存档
2025年03月 2024年
03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
论坛灌水字体(获取文字点阵)
获取文字点阵的主要代码如下:
C++代码
- void CTestFontDlg::GetFontMatrix(unsigned int nFontSize,
- wchar_t *szFontName,wchar_t* szWord,
- CDC *pDC,CMatrix<bool>* oMatrix)
- {
- CFont TempFont;
- TempFont.CreatePointFont(nFontSize*10,szFontName);
- CDC MemDC;
- //创建兼容DC
- MemDC.CreateCompatibleDC(pDC);
- //将字体选入DC
- MemDC.SelectObject(TempFont);
- //获取字体信息
- CSize fontSize;
- GetTextExtentPoint32(MemDC.m_hDC,szWord,1,&fontSize);
- oMatrix->InitMatrix(
- fontSize.cy,fontSize.cx);
- CBitmap TempBitmap;
- TempBitmap.CreateCompatibleBitmap(pDC,
- fontSize.cx,fontSize.cy);
- MemDC.SelectObject(TempBitmap);
- MemDC.TextOut(0,0,szWord);
- for (int i=0;i<fontSize.cy;i++)
- {
- for (int j=0;j<fontSize.cx;j++)
- {
- //最关键的地方,判断当前像素是不是黑色。
- COLORREF PixelColor=MemDC.GetPixel(j,i);
- if ((PixelColor!=-1) && PixelColor==RGB(0,0,0))
- {
- oMatrix->SetElement(i,j,1);
- }
- else
- {
- oMatrix->SetElement(i,j,0);
- }
- }
- }
- }
上一篇: 正在用的简单扬声器保护电路
下一篇: 在XP Embedded中使用Enhanced Write Filter(EWF)功能
分类:Win32/C++ 查看次数:7323 发布时间:2009/5/17 22:46:19