Files
barnsley-fern-go/video.go
2025-03-26 00:51:46 +03:00

39 lines
713 B
Go

package main
import (
"bytes"
"errors"
"io"
vid "github.com/AlexEidt/Vidio"
)
var erreEncodeVideo = errors.New("не удалось создать видео")
func createBarnsLeyFernVideo(s *settings, w io.Writer) error {
opts := &vid.Options{
FPS: 1,
Quality: 0,
Delay: 1000,
}
vw, err := vid.NewVideoWriter(s.Fname, s.X, s.Y, opts)
if err != nil {
return errors.Join(erreEncodeVideo, err)
}
frames := 100
for range frames {
imgbuf := new(bytes.Buffer)
if err := createBarnsleyFernPng(s, imgbuf); err != nil {
return errors.Join(erreEncodeVideo, err)
}
if err := vw.Write(imgbuf.Bytes()); err != nil {
return errors.Join(erreEncodeVideo, err)
}
}
return nil
}