Heim  >  Artikel  >  Backend-Entwicklung  >  So ändern Sie die Schriftart mit Golang

So ändern Sie die Schriftart mit Golang

PHPz
PHPzOriginal
2023-04-11 09:14:27729Durchsuche

Golang ist eine schnelle und praktische Programmiersprache, die in den letzten Jahren immer mehr Aufmerksamkeit und Verwendung gefunden hat. Bei der grundlegenden Golang-Programmierung ist es häufig erforderlich, die Schriftart von Text zu ändern. In diesem Artikel wird erläutert, wie Sie die Schriftart mit Golang ändern.

Die grundlegenden Schritte zum Ändern der Schriftart sind:

  1. Laden Sie die Schriftart herunter
  2. Installieren Sie die Schriftart auf dem Computer
  3. Verwenden Sie Golang zum Drucken und Verwenden der Schriftart

Schritt 1: Laden Sie die Schriftart herunter

Es gibt viele Möglichkeiten Um die Schriftart herunterzuladen, ist es am einfachsten, sie online herunterzuladen und die Schriftart auszuwählen, die Ihren Anforderungen entspricht. Nachdem wir die Schriftarten heruntergeladen haben, müssen wir sie in den Ordner unseres Golang-Projekts verschieben.

Schritt 2: Schriftarten auf dem Computer installieren

Schriftartendateien haben normalerweise das Suffix .ttf oder .otf. Unter Windows-Systemen können wir diese Schriftartendateien in den Schriftartenordner des Betriebssystems kopieren. Unter Mac-Systemen müssen wir die Schriftartdateien in den Ordner /Library/Fonts oder ~/Library/Fonts kopieren.

Schritt 3: Schriftarten mit Golang drucken und verwenden

Golang bietet eine Möglichkeit, Schriftarten in der Konsole auszugeben. Wir können die Funktion Println im integrierten fmt-Paket in Golang verwenden, um die Zeichenfolge mit geänderter Schriftart zu drucken. Es ist jedoch wichtig zu beachten, dass wir zum Drucken der Ausgabe die im zweiten Schritt installierten Schriftarten verwenden müssen.

Der Beispielcode lautet wie folgt:

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
}

Dies ist ein Beispielprogramm zum Drucken der Zeichenfolge „Hello World!“. Es verwendet die angegebene Schriftart und verwendet die DrawString-Funktion, um die Zeichen auf dem Bild zu zeichnen und sie schließlich umzuwandeln Bild in das PNG-Format umwandeln. Ausgabe in die Standardausgabe.

Für verschiedene Schriftarten können wir auch das integrierte Schriftartenpaket oder das Basicfont-Paket in Golang oder das Paket golang.org/x/image/font/inconsolata zum Zeichnen von Schriftarten verwenden.

Zusammenfassung

Anhand der Einleitung dieses Artikels können wir sehen, dass die Methode zum Ändern von Schriftarten in Golang sehr einfach ist. Laden Sie einfach die Schriftart herunter, installieren Sie sie und verwenden Sie dann die Println-Funktion in Golang, um die angegebene Schriftart auszugeben. Gleichzeitig können wir durch die Verwendung des integrierten Schriftartenpakets oder des Basicfont-Pakets oder des Pakets golang.org/x/image/font/inconsolata zum Zeichnen von Schriftarten die Flexibilität und Skalierbarkeit von Golang-Anwendungen erheblich erhöhen.

Das obige ist der detaillierte Inhalt vonSo ändern Sie die Schriftart mit Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn