Golang image.gif.Encode function example
package image/gif
Golang image.gif.Encode function usage example
package main
import (
"flag"
"fmt"
"image"
"image/color"
"image/draw"
"image/gif"
"math/rand"
"os"
"time"
)
func main() {
flag.Parse()
rand.Seed(time.Now().UTC().UnixNano())
out, err := os.Create("./output.gif")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
// generate some QR code look a like image
imgRect := image.Rect(0, 0, 100, 100)
img := image.NewGray(imgRect)
draw.Draw(img, img.Bounds(), &image.Uniform{color.White}, image.ZP, draw.Src)
for y := 0; y < 100; y += 10 {
for x := 0; x < 100; x += 10 {
fill := &image.Uniform{color.Black}
if rand.Intn(10)%2 == 0 {
fill = &image.Uniform{color.White}
}
draw.Draw(img, image.Rect(x, y, x+10, y+10), fill, image.ZP, draw.Src)
}
}
var opt gif.Options
opt.NumColors = 256 // you can add more parameters if you want
// ok, write out the data into the new GIF file
err = gif.Encode(out, img, &opt) // put num of colors to 256 <------- here
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println("Generated image to output.gif \n")
}
Reference :
Advertisement
Something interesting
Tutorials
+5.6k Javascript : How to refresh page with JQuery ?
+7.2k CloudFlare : Another way to get visitor's real IP address
+5k Golang : micron to centimeter example
+5.4k Golang : Qt update UI elements with core.QCoreApplication_ProcessEvents
+10k CodeIgniter : Load different view for mobile devices
+13.1k Golang : Handle or parse date string with Z suffix(RFC3339) example
+11k Golang : Create Temporary File
+5.4k Golang : Intercept, inject and replay HTTP traffics from web server
+16.9k Golang : How to generate QR codes?
+5k Golang : Get a list of crosses(instruments) available to trade from Oanda account
+8.3k Swift : Convert (cast) Character to Integer?
+19.2k Golang : Check if directory exist and create if does not exist