gpt4 book ai didi

go - Golang draw2d包中填充一个像素

转载 作者:IT王子 更新时间:2023-10-29 01:55:48 26 4
gpt4 key购买 nike

有没有办法在 Golang 中一次填充一个像素来绘制图像,最好使用 draw2d 包?

例如,可以使用 stroke() 命令来绘制一条线(来自他们的入门页面):

 package main

impenter code hereort (
"bufio"
"fmt"
"log"
"os"

"code.google.com/p/draw2d/draw2d"
"image"
"image/png"
)

func saveToPngFile(filePath string, m image.Image) {
f, err := os.Create(filePath)
if err != nil {
log.Println(err)
os.Exit(1)
}
defer f.Close()
b := bufio.NewWriter(f)
err = png.Encode(b, m)
if err != nil {
log.Println(err)
os.Exit(1)
}
err = b.Flush()
if err != nil {
log.Println(err)
os.Exit(1)
}
fmt.Printf("Wrote %s OK.\n", filePath)
}

func main() {
i := image.NewRGBA(image.Rect(0, 0, 200, 200))
gc := draw2d.NewGraphicContext(i)
gc.MoveTo(10.0, 10.0)
gc.LineTo(100.0, 10.0)
gc.Stroke()
saveToPngFile("TestPath.png", i)
}

但是我怎么能只填充一个像素,而不是连接两个点呢? Draw2d 不是必须的,它只是我认为最简单的。

最佳答案

在像 draw2d 或 Cairo 这样的矢量图形库中,很少有像素寻址,因为模型不是比特光栅。相反,矢量图形模型让你做一些事情,比如在抽象的欧几里德空间中画线。这允许设备独立绘图并防止像素寻址,因为没有像素。

但是,draw2d 具有标准 Package image在它下面,它确实允许像函数 Set 一样进行像素寻址.

如果您正在处理很多像素,预计它会很慢。或许还可以了解光栅操作。

关于go - Golang draw2d包中填充一个像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22747001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com