go freetype
1.0.0
Go 绑定 FreeType 库。仅绑定高级 API。
go get -u github.com/danielgatis/go-freetype
然后将包导入到您的代码中:
import "github.com/danielgatis/go-freetype/freetype"
下面描述的示例是用例之一。
package main
import (
"fmt"
"image/png"
"io/ioutil"
"os"
"github.com/danielgatis/go-findfont/findfont"
"github.com/danielgatis/go-freetype/freetype"
)
func checkErr ( err error ) {
if err != nil {
fmt . Printf ( "Failed: %v n " , err )
os . Exit ( 1 )
}
}
func main () {
fonts , err := findfont . Find ( "Arial" , findfont . FontRegular )
checkErr ( err )
data , err := ioutil . ReadFile ( fonts [ 0 ][ 2 ])
checkErr ( err )
lib , err := freetype . NewLibrary ()
checkErr ( err )
face , err := freetype . NewFace ( lib , data , 0 )
checkErr ( err )
err = face . Pt ( 32 , 72 )
checkErr ( err )
img , m , err := face . Glyph ( 'A' )
checkErr ( err )
f , err := os . Create ( "image.png" )
checkErr ( err )
err = png . Encode ( f , img )
checkErr ( err )
fmt . Printf ( "Image: %v n " , f . Name ())
fmt . Printf ( "Metrics: %v n " , m )
err = face . Done ()
checkErr ( err )
err = lib . Done ()
checkErr ( err )
}
❯ go run main.go
Image: image.png
Metrics: &{23 23 -1 23 21 -11 3 30}
图片.png
版权所有 (c) 2020 年至今 Daniel Gatis
根据 MIT 许可证获得许可