Compression
ZLIB compression reduces payload size for raw RGB/RGBA data. PNG is already compressed.
Compress RGBA
go
rgbaData := kgp.SolidColorImage(800, 600, 255, 0, 0, 255)
compressed, err := kgp.CompressZlib(rgbaData)
if err != nil {
panic(err)
}
cmd := kgp.NewTransmitDisplay().
Format(kgp.FormatRGBA).
Dimensions(800, 600).
Compress().
TransmitDirect(compressed).
Build()
fmt.Print(cmd.Encode())TransmitImageRGBA Helper
go
// With compression
cmd, err := kgp.TransmitImageRGBA(img, true)
if err != nil {
panic(err)
}
fmt.Print(cmd.Encode())
// Without compression
cmd, err = kgp.TransmitImageRGBA(img, false)When to Compress
- Raw RGBA/RGB: Often benefits from compression, especially for gradients or similar colors
- PNG: Already compressed; no need for
Compress() - Solid colors: Compression may not help much; test for your use case