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 {