Compare commits

..

No commits in common. "master" and "0.1" have entirely different histories.
master ... 0.1

6 changed files with 10 additions and 26 deletions

View file

@ -1,17 +1 @@
# esi
Go version of @AlexPoulsen's ESI format.
See original repo for more info: https://github.com/AlexPoulsen/esi
This package is compatible with the `"image"` package. See `esiconv/main.go` for a very simple example of usage.
## esiconv
`esiconv` is a conversion tool, and also serves as an example for this package's usage.
Get pre-built binaries on the [Releases](https://github.com/kayteh/esi/releases/tag/0.1) page, or go-get via
```bash
go get -u github.com/kayteh/esi/esiconv
```
esi

13
esi.go
View file

@ -42,6 +42,7 @@ import (
"image"
"image/color"
"io"
"log"
)
var (
@ -49,7 +50,7 @@ var (
errNotESI = errors.New("esi: not an esi")
)
var emptyBytes = 4
var emptyBytes = 7
func init() {
image.RegisterFormat("esi", "esi1", Decode, DecodeConfig)
@ -65,11 +66,15 @@ func Decode(r io.Reader) (o image.Image, err error) {
return o, err
}
log.Println(cfg)
bounds := image.Rect(0, 0, cfg.Width, cfg.Height)
log.Println(bounds)
img := image.NewRGBA(bounds)
buf.Next(8 + emptyBytes)
buf.Next(8 + 7)
for y := bounds.Min.Y; y < bounds.Max.Y; y++ {
for x := bounds.Min.X; x < bounds.Max.X; x++ {
@ -178,9 +183,7 @@ func Encode(w io.Writer, img image.Image) error {
configByte |= 32
}
cfgpad := make([]byte, 2+emptyBytes) // 1 byte for config, 1 empty byte, and a number of empty bytes.
cfgpad[0] = configByte
_, err = w.Write(cfgpad)
_, err = w.Write([]byte{configByte, 0, 0, 0, 0, 0, 0, 0, 0})
if err != nil {
return err
}

View file

@ -9,7 +9,7 @@ import (
"os"
"path"
"git.sapphic.engineer/noe/esi"
"github.com/kayteh/esi"
)
func main() {

3
go.mod
View file

@ -1,3 +0,0 @@
module git.sapphic.engineer/noe/esi
go 1.23.2

0
go.sum
View file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B