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可供选择。
感谢提供的信息。


对于Windows 10 + VSCode环境,推荐使用pixel或ebiten这两个纯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下的快速图形开发。


