Rumah  >  Artikel  >  pembangunan bahagian belakang  >  tetapan fon golang

tetapan fon golang

王林
王林asal
2023-05-27 15:31:40951semak imbas

Golang ialah bahasa pengaturcaraan berkuasa yang sangat kaya dengan ciri dan sesuai untuk pelbagai projek pembangunan perisian. Di Golang, menetapkan fon adalah tugas yang sangat penting kerana ia secara langsung mempengaruhi kesan paparan program dalam antara muka pengguna. Artikel ini akan memperkenalkan anda cara menetapkan fon dalam Golang.

Di Golang, terdapat pakej yang dipanggil "golang.org/x/image/font", yang menyediakan cara mudah untuk menetapkan fon Langkah-langkah khusus adalah seperti berikut:

1 , Pasang fail fon

Mula-mula, anda perlu memuat turun dan memasang fail fon yang anda ingin gunakan. Ini boleh dilakukan dalam pelbagai cara, seperti memuat turun daripada perpustakaan fon percuma atau membeli daripada pembekal fon komersial.

2. Import pakej fon

Selepas memasang fail fon, anda perlu memperkenalkan pakej "golang.org/x/image/font" ke dalam projek Golang anda. Anda boleh menggunakan arahan berikut untuk memuat turunnya dalam baris arahan:

pergi dapatkan golang.org/x/image/font

3 Gunakan fail fon

selepas itu memperkenalkan pakej fon , anda perlu memuatkan fail fon ke dalam projek Golang anda. Anda boleh memuatkan fail fon ke dalam atur cara menggunakan kod berikut:

fontBytes, err := ioutil.ReadFile("path/to/your/font/file.ttf")
if err != nil {
    log.Fatalf("read font file: %v", err)
}
font, err := truetype.Parse(fontBytes)
if err != nil {
    log.Fatalf("parse font: %v", err)
}

Anda boleh menggantikan laluan ke fail fon dengan laluan ke fail fon yang sebenarnya anda gunakan.

4. Tetapkan fon

Selepas memuatkan fon, anda perlu menggunakan fon untuk menetapkan fon dan saiz untuk teks. Berikut ialah contoh:

const dpi = 72
fontFace := truetype.NewFace(font, &truetype.Options{
    Size:    12,
    DPI:     dpi,
    Hinting: font.HintingFull,
})

Dalam kod di atas, kami menentukan fon dan saiz fon dengan mencipta objek truetype.NewFace. "DPI" merujuk kepada "PPI" atau "piksel per inci", iaitu bilangan titik yang anda lihat pada monitor anda. Dalam kes ini, kami menetapkannya kepada 72, iaitu nilai PPI lalai.

Selain saiz fon, anda juga boleh menetapkan jenis fon, seperti tebal, condong, dsb. Anda boleh menggunakan kod berikut:

fontFaceBold := truetype.NewFace(font, &truetype.Options{
    Size:    12,
    DPI:     dpi,
    Hinting: font.HintingFull,
    Weight:  truetype.Bold,
})

Dalam kod di atas, kami menyatakan bahawa fon adalah tebal dengan menetapkan "Berat" kepada truetype.Bold.

5. Menggunakan Fon

Selepas menetapkan dan memuatkan fon, anda boleh menggunakannya untuk menetapkan fon untuk output anda. Berikut ialah contoh:

import (
    "image"
    "image/color"
    "image/png"
    "os"

    "golang.org/x/image/font"
    "golang.org/x/image/font/basicfont"
    "golang.org/x/image/font/gofont/gomonobold"
    "golang.org/x/image/math/fixed"
)

func main() {
    img := image.NewRGBA(image.Rect(0, 0, 400, 200))
    col := color.RGBA{0xff, 0xff, 0xff, 0xff}
    drawString(img, "Hello, Golang!", 100, 100, fontFace, col)
    drawString(img, "Hello, Golang Bold!", 100, 150, fontFaceBold, col)

    f, err := os.Create("output.png")
    if err != nil {
        log.Fatalf("create output file: %v", err)
    }
    png.Encode(f, img)
    if err := f.Close(); err != nil {
        log.Fatalf("close file: %v", err)
    }
}

func drawString(img *image.RGBA, str string, x, y int, face font.Face, col color.Color) {
    d := &font.Drawer{
        Dst:  img,
        Src:  image.NewUniform(col),
        Face: face,
    }
    d.Dot = fixed.Point26_6{
        X: fixed.Int26_6(x * 64),
        Y: fixed.Int26_6(y * 64),
    }
    d.DrawString(str)
}

Dalam coretan kod di atas, kami mencipta fungsi tersuai yang dipanggil "drawString" untuk menulis rentetan pada imej. Dalam fungsi ini, kami mengambil sebagai parameter fungsi imej itu sendiri, rentetan yang akan ditulis, kedudukan rentetan, dan jenis dan warna fon untuk digunakan. Kami kemudian menggunakan "font.Drawer" untuk menulis rentetan pada imej.

Imej keluaran akhir akan mengandungi output Hello, Golang dan Hello, Golang Bold!

Ringkasan

Dalam artikel ini, kami memperkenalkan cara mudah untuk menetapkan fon dalam Golang. Menggunakan pakej "golang.org/x/image/font" yang disediakan oleh Golang, anda boleh menetapkan fon serta saiz dan jenis fon dengan mudah. Saya harap artikel ini membantu anda lebih memahami cara menetapkan fon di Golang.

Atas ialah kandungan terperinci tetapan fon 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:Golang melaksanakan aopArtikel seterusnya:Golang melaksanakan aop