是否有一种方法,通过填充一个像素一次在戈朗,最好使用draw2d包?
例如,您可以通过如下方法来绘制一条线:
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并不是必需的,它只是我认为最简单的东西。
发布于 2014-03-30 17:26:29
在矢量图形库(如draw2d或Cairo )中,很少有像素寻址,因为模型不是由比特组成的光栅。相反,矢量图形模型让你在抽象的欧几里得空间中画线。这允许设备独立绘图,并防止像素寻址,因为没有像素。
然而,draw2d有一个标准的包装图像作为它的基础,它确实允许像素寻址和函数设置一样。
如果你正在做许多像素,希望它是缓慢的。也许还能学到光栅手术。
https://stackoverflow.com/questions/22747001
复制相似问题