计算机二级C++技巧:汉字笔画计算代码

更新时间:2023-08-11 22:08:53 阅读: 评论:0

通过提取楷体的字形轮廓可以获得汉字笔画。只不过选⽤的字体必须是楷体。其他字体不⾏。  这功能没什么⽤途吧,我只是好玩⽽已。
  int GetCharStrokes(UINT ch)chief是什么意思
  {
  HFONT hFont;
nally  { // create font;
  LOGFONT lfFont;
  memt(&lfFont, 0, sizeof(lfFont));
  lstrcpy(lfFont.lfFaceName, "楷体_GB2312");
  lfFont.lfHeight = 72;
  lfFont.lfWeight = FW_NORMAL;
  lfFont.lfItalic = FALSE;
when there was me and you
amphetamine  lfFont.lfStrikeOut = FALSE;
  lfFont.lfCharSet = DEFAULT_CHARSET;
  lfFont.lfOutPrecision = OUT_DEFAULT_PRECIS;
  lfFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
  lfFont.lfQuality = DRAFT_QUALITY;
  lfFont.lfPitchAndFamily = DEFAULT_PITCH;
  hFont = CreateFontIndirect(&lfFont);
  }
  HDC hDC = GetDC(NULL);
th  if (hDC==NULL) return 0;
  HGDIOBJ hOldFont = SelectObject(hDC,hFont);
  MAT2 mat;
  memt(&mat,0,sizeof(mat));
  mat.eM11.value = 1;
  mat.eM22.value = -1;
  GLYPHMETRICS gm;
  memt(&gm,0,sizeof(gm));
  DWORD dwSize = GetGlyphOutline(hDC,ch,GGO_NATIVE,&gm,0,NULL,&mat);
  int cnt = 0;
  LPVOID pBuff = NULL;
  if (dwSize>0)
6669
  {
  pBuff = malloc(dwSize);
wideband  memt(&gm,0,sizeof(gm));
umts  DWORD res = GetGlyphOutline(hDC,ch,GGO_NATIVE,&gm,dwSize,pBuff,&mat);
  if (res!=dwSize)
  {
  free(pBuff);
  pBuff = NULL;
  }
  }
  if (pBuff)
  {
  BYTE * ptr = (BYTE *)pBuff;
  while (dwSize>0)
  {
  TTPOLYGONHEADER * header = (TTPOLYGONHEADER *)ptr;
  cnt ++;
  ptr += header->cb;
美丽英文
  dwSize -= header->cb;
  }
  free(pBuff);
  }
  SelectObject(hDC,hOldFont);intact是什么意思
  ReleaDC(NULL,hDC);
  return cnt;
  }
  测试:
  union {
  UINT ch;
  char szText[4];
  } a;
  char * szText = "疆";
  a.ch = 0;
  a.szText[1] = szText[0];
  a.szText[0] = szText[1];
  int cnt = GetCharStrokes(a.ch);
  TRACE("\"%s\"的笔画%d\n",szText,cnt);  运⾏结果:
  "疆"的笔画19

本文发布于:2023-08-11 22:08:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/194069.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:楷体   轮廓   字形   获得   提取
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图