go freetype
1.0.0
Gunakan binding untuk perpustakaan FreeType. Hanya API tingkat tinggi yang terikat.
go get -u github.com/danielgatis/go-freetype
Dan kemudian impor paket dalam kode Anda:
import "github.com/danielgatis/go-freetype/freetype"
Contoh yang dijelaskan di bawah ini adalah salah satu kasus penggunaan.
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}
gambar.png
Hak Cipta (c) 2020-sekarang Daniel Gatis
Berlisensi di bawah Lisensi MIT