本文整理汇总了Golang中golang.org/x/image/font.Face.Glyph方法的典型用法代码示例。如果您正苦于以下问题:Golang Face.Glyph方法的具体用法?Golang Face.Glyph怎么用?Golang Face.Glyph使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类golang.org/x/image/font.Face
的用法示例。
在下文中一共展示了Face.Glyph方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: glyph
func glyph(face font.Face, char rune, dot fixed.Point26_6) (dr image.Rectangle, mask image.Image, maskp image.Point) {
var ok bool
if dr, mask, maskp, _, ok = face.Glyph(dot, char); !ok {
dr, mask, maskp, _, _ = face.Glyph(dot, utf8.RuneError)
}
return
}
示例2: add
func (p *glyphPage) add(face fnt.Face, r rune) bool {
if _, found := p.entries[r]; found {
panic("Glyph already added to glyph page")
}
b, mask, maskp, _, _ := face.Glyph(fixed.Point26_6{}, r)
bounds := math.CreateRect(b.Min.X, b.Min.Y, b.Max.X, b.Max.Y)
w, h := bounds.Size().WH()
x, y := p.nextPoint.X, p.nextPoint.Y
if x+w > p.size.W {
// Row full, start new line
x = 0
y += p.rowHeight + glyphPadding
p.rowHeight = 0
}
if y+h > p.size.H {
return false // Page full
}
draw.Draw(p.image, image.Rect(x, y, x+w, y+h), mask, maskp, draw.Src)
p.entries[r] = glyphEntry{
offset: math.Point{X: x, Y: y}.Sub(bounds.Min),
bounds: bounds,
}
p.nextPoint = math.Point{X: x + w + glyphPadding, Y: y}
if h > p.rowHeight {
p.rowHeight = h
}
p.tex = nil
return true
}