本文整理汇总了Golang中golang.org/x/image/font.Face.GlyphBounds方法的典型用法代码示例。如果您正苦于以下问题:Golang Face.GlyphBounds方法的具体用法?Golang Face.GlyphBounds怎么用?Golang Face.GlyphBounds使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类golang.org/x/image/font.Face
的用法示例。
在下文中一共展示了Face.GlyphBounds方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: fromString
func fromString(s string, fc font.Face) []*glyph {
var gs []*glyph
for _, r := range s {
if b, a, ok := fc.GlyphBounds(r); ok {
gs = append(gs, &glyph{r: r, b: b, a: a})
}
}
return gs
}
示例2: enumerate
// enumerate returns all glyphs with a valid index.
func enumerate(f *truetype.Font, fc font.Face) []*glyph {
var gs []*glyph
for r := rune(1); r < (1<<16)-1; r++ {
if r == '\uFEFF' {
continue // ignore BOM
}
if f.Index(r) != 0 {
b, a, _ := fc.GlyphBounds(r)
gs = append(gs, &glyph{r: r, b: b, a: a})
}
}
return gs
}
示例3: newGlyphPage
func newGlyphPage(face fnt.Face, r rune) *glyphPage {
// Start the page big enough to hold the initial rune.
b, _, _ := face.GlyphBounds(r)
bounds := rectangle26_6toRect(b)
size := math.Size{W: glyphPageWidth, H: glyphPageHeight}.Max(bounds.Size())
size.W = align(size.W, glyphSizeAlignment)
size.H = align(size.H, glyphSizeAlignment)
page := &glyphPage{
image: image.NewAlpha(image.Rect(0, 0, size.W, size.H)),
size: size,
entries: make(map[rune]glyphEntry),
rowHeight: 0,
}
page.add(face, r)
return page
}