stumpy_gif

Write GIF images in pure Crystal

stumpy_gif

Interface

  • StumpyGIF.write(frames : Array(Canvas), path_or_io, delay_between_frames = 10) saves a list of frames (canvasses) as a GIF image file, delay_between_frames is in 1/100 of a second
  • Canvas and RGBA from stumpy_core

Usage

Writing

require "stumpy_gif"
include StumpyGIF

frames = [] of Canvas

(0..5).each do |z|
  canvas = Canvas.new(256, 256)

  (0..255).each do |x|
    (0..255).each do |y|
      color = RGBA.from_rgb_n([x, y, z * 51], 8)
      canvas[x, y] = color
    end
  end

  frames << canvas
end

StumpyGIF.write(frames, "rainbow.gif")

Left to right: Websafe, median split, NeuQuant

GIF image with an animated color gradient GIF image with an animated color gradient GIF image with an animated color gradient

(See examples/ for more examples)

Color Quantization Methods

  • Use Websafe colors
  • Median Split
  • NeuQuant

References

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Repository

stumpy_gif

Owner
Statistic
  • 19
  • 3
  • 1
  • 3
  • 0
  • about 5 years ago
  • September 22, 2016
License

MIT License

Links
Synced at

Thu, 21 Nov 2024 19:45:53 GMT

Languages