1
내부적으로 채우기가없는 외곽선 테두리 만 포함하는 글리프 비트 맵을 만들려고합니다. 이것을 위해 FreeType 라이브러리를 사용합니다. 그 결과FreeType : 채워지지 않은 외곽선을 래스터 화하는 방법
Spans outlineSpans;
FT_Stroker stroker;
FT_Stroker_New(ft, &stroker);
FT_Stroker_Set(stroker, outlineWidth, round ? FT_STROKER_LINECAP_ROUND : FT_STROKER_LINECAP_SQUARE, round ? FT_STROKER_LINEJOIN_ROUND : FT_STROKER_LINEJOIN_BEVEL, 0);
FT_Glyph g;
FT_Get_Glyph(currentFace->glyph, &g);
FT_Glyph_StrokeBorder(&g, stroker, 0, 1);
FT_Raster_Params params;
memset(¶ms, 0, sizeof(params));
params.flags = FT_RASTER_FLAG_AA | FT_RASTER_FLAG_DIRECT;
params.gray_spans = RasterCallback;
params.user = &outlineSpans;
outlineSpans.clear();
FT_Outline *o = &reinterpret_cast<FT_OutlineGlyph>(g)->outline;
int err = FT_Outline_Render(ft, o, ¶ms);
FT_Stroker_Done(stroker);
FT_Done_Glyph(g);
내가 전체 글리프 이미지 스팬 가득 outlineSpans
벡터를 얻을 수 있지만, 난 단지 "테두리"래스터 화 될 필요가 : 여기에 FreeType에서 참조에서 예 2 코드와 유사한 내 코드입니다. CurrentFace->glyph
에는 내가로드 한 글리프가 포함되어 있습니다. FT_Load_Char(currentFace, *ch, FT_LOAD_NO_BITMAP))
무엇이 잘못 되었나요? 어떤 도움을 주셔서 감사합니다, 그물에 FreeType에 대한 많은 문서/예제가 없습니다.