【问题标题】:animated gif in golang - creation of *image.Palettedgolang 中的动画 gif - 创建 *image.Paletted
【发布时间】:2017-06-02 00:42:11
【问题描述】:

我想用 go 创建一个动画 gif。

我需要计算多个 *image.Paletted。

但是当我想创建它时,我需要 p color.Palette 但我不知道如何获取调色板

我怎样才能拥有调色板?

【问题讨论】:

  • 您为图像选择调色板。您只能有 256 种颜色,因此您需要选择最适合您的图像的颜色。如果不确定,可以从pallet.WebSafe开始
  • 查看相关的 QA Images lose quality after saving as GIF 以及该答案中的所有链接 ...
  • 感谢@JimB 它有效!!! :D 但与 png 相比,图片很难看:/ 我有测试调色板。Plan9 以获得更好的结果,但它有更精确的调色板吗?
  • @Fractale:没有“更精确的调色板”之类的东西,因为你只能有 256 种颜色。您可以使用您拥有的调色板来抖动图像,计算更接近您的图像的调色板,或两者的组合。
  • @Fractale:你没有展示任何你正在做什么的例子,所以你可能正在使用内置的 FloydSteinberg Drawer 进行抖动。至于color quantization,常用的是median-cut算法。

标签: image image-processing go color-palette


【解决方案1】:

标准库有一个自己的包:https://golang.org/pkg/image/color/palette/

目前有两个可用的预定义调色板:Plan9 和 WebSafe

你可以这样使用这个包:

frame := image.NewPaletted(
    image.Rect(0, 0, 100, 200),
    palette.WebSafe,
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 2014-03-02
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2015-10-29
    相关资源
    最近更新 更多