diff --git a/wrp.go b/wrp.go
index 28a1051..95c3b93 100644
--- a/wrp.go
+++ b/wrp.go
@@ -27,6 +27,7 @@ import (
"syscall"
"time"
+ "github.com/MaxHalford/halfgone"
"github.com/chromedp/cdproto/css"
"github.com/chromedp/cdproto/emulation"
"github.com/chromedp/cdproto/page"
@@ -357,6 +358,10 @@ func (w wrpReq) capture() {
fmt.Fprintf(w.out, "
Unable to decode page screenshot:
%s
\n", err)
return
}
+ if w.colors == 2 {
+ gray := halfgone.ImageToGray(i)
+ i = halfgone.FloydSteinbergDitherer{}.Apply(gray)
+ }
var gifbuf bytes.Buffer
err = gif.Encode(&gifbuf, i, &gif.Options{NumColors: int(w.colors), Quantizer: quantize.MedianCutQuantizer{}})
if err != nil {