1. Produkter
  2.   Bilde
  3.   GO
  4.   imaginary
 
  

Gå til API for HTTP-basert bildebehandling

Open Source Go Library som støtter smart beskjæring på nettet, snu eller rotere bilder, lage miniatyrbilder, bildezoom, legge til vannmerke i PNG, WEBP, TIFF, PDF, GIF og SVG, etc.

Den imaginære er en veldig kraftig åpen kildekode HTTP-basert bildebehandling Go API som gir programvareutviklere muligheten til å utføre avanserte bildeoperasjoner via private eller offentlige HTTP-tjenester med mindre avhengighet. Den støtter avanserte operasjoner som API-tokenautorisasjon, URL-signaturbeskyttelse, HTTP-trafikkreguleringsstrategi og CORS-støtte for nettklienter. Biblioteket kan lese bilder fra HTTP POST-nyttelast, lokale serverbaner eller eksterne HTTP-servere.

Den imaginære er et kraftig og stabilt bibliotek bygget på toppen av libvips en rask og effektiv bildebehandling. Biblioteket har inkludert støtte for bildeformater som JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF og SVG-formater samt transparent konvertering på tvers av dem. Den har gitt fullstendig støtte for Docker & Fly.io. Det fine med Fly er at det kan redusere ventetiden og gi bedre praksis ved å betjene trafikk nær brukerens posisjon.

Det imaginære biblioteket støtter fullt ut flere viktige funksjoner relatert til bildeoppretting, konvertering og manipulering, som for eksempel bildestørrelse, forstørre bilder, bildebeskjæring, smart-beskjæring, roterende bilder, AutoRotate med ytterligere bildetransformasjoner, auto-flip basert på EXIF-metadata, bilde floppe, zoome bilder, lage miniatyrbilder, tilpasse bilder, legge inn eller utvide et bilde, legge til vannmerkebilde, legge til uskarphet-effekter til et bilde og mye mer.

Previous Next

Komme i gang med imaginære

Den enkleste og anbefalte måten å installere imaginær på er via GitHub.

Installer imaginært via GitHub

go get -u github.com/h2non/imaginary

Konverter bilder til andre formater via Go

Det imaginære API-biblioteket med åpen kildekode har inkludert støtte for å konvertere bildene dine til andre støttede filformater med letthet. Du kan lagre bilder i noen veldig nyttige formater som JPEG-, PNG- og WEBP-formater. Biblioteket har gitt konverteringsstøtte med ekstra kvalitets- og komprimeringsinnstillinger. Du trenger bare å oppgi riktig bildenavn, adresse og konverteringsformat, og biblioteket vil enkelt konvertere det for deg med bare et par Go-kommandoer.

Konverter bilde via Imaginary Library

func Convert(buf []byte, o ImageOptions) (Image, error) {
	if o.Type == "" {
		return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
	}
	if ImageType(o.Type) == bimg.UNKNOWN {
		return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	return Process(buf, opts)
}

Online bildebeskjæring via Go

Det imaginære biblioteket med åpen kildekode gjør det mulig for programvareutviklere å beskjære bildene sine online med bare et par linjer med Go-kode i sine egne applikasjoner. Du kan beskjære bildet ved å angi tilpasset bredde eller høyde. Biblioteket gjør jobben din enkel ved å opprettholde bildeforholdet. Biblioteket støtter også beskjæring av bildet ved å bruke libvips innebygde smarte beskjæringsalgoritme. Du kan også definere bildekomprimeringsnivået for PNG-bilder og enkelt vende, floppe og rotere bildene dine.

Bildebeskjæring via Go Library

{
    "operation": "crop",
    "params": {
      "width": 500,
      "height": 300
    }

Endre størrelsen på bilder for å passe

Det gratis imaginære biblioteket har inkludert støtte for å endre størrelse på bilder for å passe med Go-kommandoer i appene deres. Du kan enkelt endre størrelsen på et bilde for å passe innenfor bredde og høyde, uten å beskjære. Biblioteket gjør jobben din enkel ved å opprettholde bildesideforholdet. Bredden og høyden angir en maksimal grenseramme for bildet.

Endre størrelse på bilde via Free Go Library

func Resize(buf []byte, o ImageOptions) (Image, error) {
	if o.Width == 0 && o.Height == 0 {
		return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	opts.Embed = true
	if o.IsDefinedField.NoCrop {
		opts.Crop = !o.NoCrop
	}
	return Process(buf, opts)
}

Roter og roter bildene dine automatisk

Det gratis imaginære biblioteket har gitt funksjonalitet for å rotere bildene dine med letthet. Den har også inkludert en veldig nyttig funksjon for automatisk rotering av bilder i Go-applikasjoner. Den roterer automatisk bildet uten ytterligere bildetransformasjoner basert på EXIF-orienteringsmetadata. AutoRotate-metoden produserer et nytt bilde med samme størrelse og format som inndatabildet.

Auto-roter bilde via Free Go Library

func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
	defer func() {
		if r := recover(); r != nil {
			switch value := r.(type) {
			case error:
				err = value
			case string:
				err = errors.New(value)
			default:
				err = errors.New("libvips internal error")
			}
			out = Image{}
		}
	}
 Norsk