Golang ialah bahasa pengaturcaraan yang pantas dan mudah yang telah mendapat perhatian dan penggunaan yang semakin meluas sejak beberapa tahun kebelakangan ini. Dalam pengaturcaraan asas Golang, selalunya perlu menukar fon teks Artikel ini akan memperkenalkan cara menggunakan Golang untuk menukar fon.
Langkah asas untuk menukar fon ialah:
Langkah pertama: Muat turun fon
Terdapat banyak cara untuk memuat turun fon, tetapi cara paling mudah ialah memuat turunnya dalam talian dan memilih fon yang memenuhi keperluan anda. Selepas memuat turun fon, kami perlu mengalihkannya ke folder projek Golang kami.
Langkah 2: Pasang fon pada komputer
Fail fon biasanya mempunyai akhiran .ttf atau .otf Di bawah sistem Windows, kami boleh menyalin fail fon ini ke Fon folder sistem pengendalian . Di bawah sistem Mac, kita perlu menyalin fail fon ke folder /Library/Fonts atau ~/Library/Fonts.
Langkah 3: Cetak dan gunakan fon dengan Golang
Golang menyediakan cara untuk mengeluarkan fon dalam konsol. Kita boleh menggunakan fungsi Println dalam pakej fmt terbina dalam di Golang untuk mencetak rentetan dengan fon yang diubah. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kita perlu menggunakan fon yang dipasang pada langkah kedua untuk mencetak output.
Kod sampel adalah seperti berikut:
package main import ( "fmt" "golang.org/x/image/font" "golang.org/x/image/font/basicfont" "golang.org/x/image/font/inconsolata" "golang.org/x/image/font/opentype" "image" "image/color" "image/draw" "image/png" "io/ioutil" "os" ) func main() { tempFile, err := downloadFontTemporarily() if err != nil { fmt.Printf("Failed to download the font: %v", err) return } // Cleanup the temp file. defer os.Remove(tempFile.Name()) fontBytes, err := ioutil.ReadFile(tempFile.Name()) if err != nil { fmt.Printf("Failed to read the font: %v", err) return } // Parse the font, allowing for a variety of font types. f, err := opentype.Parse(fontBytes) if err != nil { fmt.Printf("Failed to parse the font: %v", err) return } const size = 72 d := &font.Drawer{ Dst: draw.NewRGBA(image.Rect(0, 0, 1024, 1024)), Src: image.NewUniform(color.White), Face: truetype.NewFace(f, &truetype.Options{Size: size}), } d.Dot = fixed.Point26_6{ X: (fixed.I(10)), Y: (fixed.I(50)), } d.DrawString("Hello World!") img := d.Dst.(*draw.RGBA) png.Encode(os.Stdout, img) } func downloadFontTemporarily() (*os.File, error) { // Download a font so we can draw it. resp, err := http.Get("https://storage.googleapis.com/golang/go1.9beta1.linux-amd64.tar.gz") if err != nil { return nil, fmt.Errorf("Failed to open source image: %v", err) } // Write the file to a temporary directory so `font.OpenType` can use it. tempFile, err := ioutil.TempFile("", "font.ttf") if err != nil { return nil, fmt.Errorf("Failed to create temp file: %v", err) } // Cleanup the temporary file, defer os.Remove(tempFile.Name()) if _, err = io.Copy(tempFile, resp.Body); err != nil { return nil, fmt.Errorf("Failed to write font to temp file: %v", err) } // Seek back to the start of the file so it can be read again later. if _, err = tempFile.Seek(0, io.SeekStart); err != nil { return nil, fmt.Errorf("Failed to seek to start of temporary file: %v", err) } return tempFile, nil }
Ini ialah program contoh yang mencetak rentetan "Hello World!" Ia menggunakan fon yang ditentukan dan menggunakan fungsi DrawString aksara pada imej, dan akhirnya menukar imej kepada format PNG dan mengeluarkannya kepada output standard.
Untuk fon yang berbeza, kami juga boleh menggunakan pakej fon terbina dalam atau pakej basicfont dalam Golang atau pakej golang.org/x/image/font/inconsolata untuk melukis fon.
Ringkasan
Melalui pengenalan artikel ini, kita dapat melihat bahawa kaedah menukar fon di Golang adalah sangat mudah. Hanya muat turun fon, pasang fon, dan kemudian gunakan fungsi Println dalam Golang untuk mengeluarkan fon yang ditentukan. Pada masa yang sama, dengan menggunakan pakej fon terbina dalam atau pakej basicfont atau pakej golang.org/x/image/font/inconsolata untuk melukis fon, kami boleh meningkatkan fleksibiliti dan kebolehskalaan aplikasi Golang dengan banyak.
Atas ialah kandungan terperinci Bagaimana untuk menukar fon dengan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!