forked from pierrre/imageserver
/
tiff.go
33 lines (26 loc) · 776 Bytes
/
tiff.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Package tiff provides a TIFF imageserver/image.Encoder implementation.
package tiff
import (
"image"
"io"
"github.com/cognusion/imageserver"
imageserver_image "github.com/cognusion/imageserver/image"
"golang.org/x/image/tiff"
)
// Encoder is a TIFF imageserver/image.Encoder implementation.
type Encoder struct{}
var opts = &tiff.Options{
Compression: tiff.Deflate,
Predictor: true,
}
// Encode implements imageserver/image.Encoder.
func (enc *Encoder) Encode(w io.Writer, nim image.Image, params imageserver.Params) error {
return tiff.Encode(w, nim, opts)
}
// Change implements imageserver/image.Encoder.
func (enc *Encoder) Change(params imageserver.Params) bool {
return false
}
func init() {
imageserver_image.RegisterEncoder("tiff", &Encoder{})
}