当前位置: 首页>>代码示例>>Golang>>正文


Golang Face.Glyph方法代码示例

本文整理汇总了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
}
开发者ID:achille-roussel,项目名称:go-vu,代码行数:9,代码来源:text.go

示例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
}
开发者ID:langxj,项目名称:gxui,代码行数:36,代码来源:glyph_page.go


注:本文中的golang.org/x/image/font.Face.Glyph方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。