Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyesuaikan fon dalam golang

Bagaimana untuk menyesuaikan fon dalam golang

WBOY
WBOYasal
2023-05-13 12:15:07753semak imbas

Golang ialah bahasa pengaturcaraan yang berkuasa dengan pelbagai senario aplikasi. Apabila kami membangunkan aplikasi antara muka, fon sering menjadi faktor penting. Di Golang, melaraskan fon agak mudah. Artikel ini akan memperkenalkan cara melaraskan fon dalam Golang.

1. Import pakej yang diperlukan

Kita perlu mengimport imej dan pakej freetype. Antaranya, imej ialah pakej pemprosesan imej terbina dalam, dan freetype menyediakan operasi berkaitan pada fon.

import (

"image"
"image/png"
"os"

"golang.org/x/image/font"
"golang.org/x/image/font/basicfont"
"golang.org/x/image/math/fixed"
"golang.org/x/image/font/gofont/goregular" // 导入一个字体
"golang.org/x/image/draw"
"golang.org/x/image/colornames"
"golang.org/x/image/colorpalettes"
"github.com/golang/freetype"

)

2 Mulakan fon

Di Golang, kita boleh menggunakan fon yang disediakan oleh gofont atau mengimportnya sendiri fon. Di sini, kami mengambil goregular gofont sebagai contoh untuk memulakan fon:

fontBytes := goregular.TTF
f, err := freetype.ParseFont(fontBytes)
if err != nil {

log.Fatal(err)

}

Antaranya, goregular.TTF ialah fail fon yang disediakan dalam pakej gofont. Jika anda ingin menggunakan fon lain, anda boleh menggantikan fail fon ini.

3. Lukis rentetan

Apabila menggunakan freetype untuk melaraskan fon, anda perlu memberi perhatian untuk memastikan pemaparan imej berkualiti tinggi dan memastikan pemaparan fon adalah normal. Di sini, kami memulakan imej dan menetapkan nama dan jenis fail fail output:

w, h := 200, 100
rgba := image.NewRGBA(image.Rect(0, 0 , w, h))
fail, err := os.Create("output.png")
if err != nil {

log.Fatal(err)

}
tunda fail.Close()

Seterusnya, kita perlu melukis rentetan dan melaraskan saiz, kedudukan dan warnanya:

c := freetype.NewContext()
c.SetDPI(72)
c. SetFont(f)
c.SetFontSize(24)
c.SetClip(rgba.Bounds())
c.SetDst(rgba)
c.SetSrc(image.NewUniform(colornames. White) )

pt := freetype.Pt(10, 50)
_, err = c.DrawString("Hello, world!", pt)
if err != nil {

log.Fatal(err)

}

Dalam kod ini, kami menetapkan kedudukan rentetan kepada (10, 50), saiz kepada 24 dan dipilih putih sebagai warna fon. Perlu diingat bahawa sebelum melukis rentetan, kami memanggil kaedah SetClip untuk menetapkan kawasan lukisan untuk mengelakkan masalah teks di luar sempadan semasa melukis.

4. Simpan imej

Akhir sekali, gunakan pakej png untuk menyimpan imej ke fail:

err = png.Encode(file, rgba)
if err ! = nil {

log.Fatal(err)

}

Dengan cara ini, kami telah menyelesaikan operasi melaraskan fon di Golang. Dengan mempelajari artikel ini, anda boleh dengan cepat menguasai kemahiran pengendalian fon yang berkaitan di Golang, membawa lebih banyak fleksibiliti dan keindahan kepada pembangunan aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk menyesuaikan fon dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Adakah java mudah dipelajari?Artikel seterusnya:Adakah java mudah dipelajari?