browser

package
v0.0.23 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Rendered for js/wasm

Index

Constants

View Source
const (
	DefaultQuality = 0.85
	DefaultType    = "image/webp"
	DefaultMaxEdge = 1920
)

Variables

View Source
var ErrUnsupported = fmt.Errf("image/browser: el navegador no soporta OffscreenCanvas")

ErrUnsupported indica que el navegador no ofrece OffscreenCanvas y por tanto no puede comprimir.

Functions

This section is empty.

Types

type Config

type Config struct {
	// MaxEdge es el lado mas largo en pixeles despues de redimensionar,
	// manteniendo la proporcion. Cero = no redimensionar.
	MaxEdge int

	// Quality es la calidad del codificador, de 0 a 1. Cero usa DefaultQuality.
	Quality float64

	// Type es el MIME de salida. Vacio usa DefaultType.
	Type string
}

Config son los parametros de compresion.

type Result

type Result struct {
	Data   []byte // los bytes listos para subir
	Type   string // el MIME que el navegador produjo realmente
	Width  int    // dimensiones finales
	Height int
}

Result es la imagen ya comprimida.

func Compress

func Compress(file js.Value, c Config) (Result, error)

Compress decodifica el archivo, lo redimensiona si hace falta y lo vuelve a codificar con los parametros dados.

file es un js.Value de un objeto File o Blob — tipicamente input.Get("files").Index(0) desde el evento change de un <input type=file>.

func CompressToFit

func CompressToFit(file js.Value, maxBytes int, c Config) (Result, error)

CompressToFit repite Compress bajando la calidad hasta que el resultado quepa en maxBytes, o hasta agotar los intentos.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL