add jpeg encoder
This commit is contained in:
16
image.go
16
image.go
@@ -4,6 +4,7 @@ import (
|
||||
"errors"
|
||||
"image"
|
||||
"image/color"
|
||||
"image/jpeg"
|
||||
"image/png"
|
||||
"io"
|
||||
)
|
||||
@@ -15,8 +16,19 @@ func createBarnsleyFernPng(s *settings, w io.Writer) error {
|
||||
|
||||
drawBarnsleyFern(img, newColorFunc(s.CM), s.Dots)
|
||||
|
||||
if err := png.Encode(w, img); err != nil {
|
||||
return errors.Join(errEncodePng, err)
|
||||
switch s.OM {
|
||||
case outputjpeg:
|
||||
opts := &jpeg.Options{
|
||||
Quality: 100,
|
||||
}
|
||||
if err := jpeg.Encode(w, img, opts); err != nil {
|
||||
return errors.Join(errEncodePng, err)
|
||||
}
|
||||
|
||||
case outputpng:
|
||||
if err := png.Encode(w, img); err != nil {
|
||||
return errors.Join(errEncodePng, err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
|
Reference in New Issue
Block a user