Golang简单图形包推荐与使用指南

Golang简单图形包推荐与使用指南 大家好, 我需要一个非常简单的Go图形包,无需繁琐的安装过程。 我目前在Windows 10系统上使用VScode进行开发。 先谢谢了。

9 回复

谢谢,我只是希望它们不会太重,因为我的图形需求真的很基础。

更多关于Golang简单图形包推荐与使用指南的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


你能详细说明一下吗?

  • 什么表面?
  • 移动什么?

sasha:

简单的图形包

你希望这个包实现什么功能?

我只需要一些在表面上不断移动的基本图形,持续更新它们的位置、文本和颜色。就这么简单。

我正在开发一个基于代理的平台,需要在二维平面上展示它们。这些代理遵循遗传算法和元胞自动机的混合规则。我希望以图形方式呈现它们,例如使用圆形或像素点。此外,我需要在屏幕上显示一些文本信息。

也许 Awesome Go 网站列出了你可以使用的库。看看这些部分:

目前市场上有两个热门的GUI库:gio和fyne。此外还有go-qt,它非常庞大;以及go-sciter,它类似于Electron但更小,并且专注于桌面应用。如果你在Windows上开发,那么还有walk可供选择。

感谢提供的信息。:+1::+1::+1:

对于Windows 10 + VSCode环境,推荐使用pixelebiten这两个纯Go图形库,无需C依赖,安装简单。

1. Pixel - 2D图形库

package main

import (
    "github.com/faiface/pixel"
    "github.com/faiface/pixel/pixelgl"
    "golang.org/x/image/colornames"
)

func run() {
    cfg := pixelgl.WindowConfig{
        Title:  "Pixel示例",
        Bounds: pixel.R(0, 0, 800, 600),
        VSync:  true,
    }
    win, err := pixelgl.NewWindow(cfg)
    if err != nil {
        panic(err)
    }

    for !win.Closed() {
        win.Clear(colornames.Skyblue)
        win.Update()
    }
}

func main() {
    pixelgl.Run(run)
}

安装命令:

go get github.com/faiface/pixel
go get github.com/faiface/pixel/pixelgl

2. Ebiten - 轻量级游戏引擎

package main

import (
    "github.com/hajimehoshi/ebiten/v2"
    "github.com/hajimehoshi/ebiten/v2/ebitenutil"
    _ "image/png"
)

type Game struct{}

func (g *Game) Update() error {
    return nil
}

func (g *Game) Draw(screen *ebiten.Image) {
    ebitenutil.DebugPrint(screen, "Hello, Ebiten!")
}

func (g *Game) Layout(outsideWidth, outsideHeight int) (int, int) {
    return 320, 240
}

func main() {
    ebiten.SetWindowSize(640, 480)
    ebiten.SetWindowTitle("Ebiten示例")
    if err := ebiten.RunGame(&Game{}); err != nil {
        panic(err)
    }
}

安装命令:

go get github.com/hajimehoshi/ebiten/v2

这两个包都支持go get直接安装,无需额外系统依赖,适合Windows下的快速图形开发。

回到顶部