1. produkty
  2.   obraz
  3.   GO
  4.   imaginary
 
  

Go API pro HTTP Based Image Processing

Open Source Go Library, která podporuje online chytré ořezávání, překlápění nebo otáčení obrázků, vytváření miniatur obrázků, přibližování obrázků, přidávání vodoznaku do PNG, WEBP, TIFF, PDF, GIF a SVG atd.

Imaginární je velmi výkonné rozhraní Go API pro zpracování obrázků založené na protokolu HTTP s otevřeným zdrojovým kódem, které poskytuje vývojářům softwaru možnost provádět pokročilé operace s obrázky prostřednictvím soukromých nebo veřejných služeb HTTP s menší závislostí. Podporuje pokročilé operace, jako je autorizace tokenů API, ochrana podpisů URL, strategie omezení provozu HTTP a podpora CORS pro webové klienty. Knihovna může číst obrázky z datových částí HTTP POST, místních cest serveru nebo vzdálených serverů HTTP.

Imaginární je výkonná a stabilní knihovna postavená na libvips rychlém a efektivním zpracování obrazu. Knihovna zahrnovala podporu obrazových formátů, jako jsou JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF a SVG, a také transparentní převod mezi nimi. Poskytuje kompletní podporu pro Docker & Fly.io. Skvělá věc na Fly je, že může zkrátit latenci a poskytnout lepší praxi tím, že obsluhuje provoz v blízkosti polohy vašeho uživatele.

Imaginární knihovna plně podporuje několik důležitých funkcí souvisejících s vytvářením, konverzí a manipulací s obrázky, jako je změna velikosti obrázku, zvětšení obrázků, oříznutí obrázku, inteligentní oříznutí, otáčení obrázků, automatické otáčení s dalšími transformacemi obrázků, automatické převrácení na základě metadat EXIF, obrázek propadat, přibližovat obrázky, vytvářet miniatury obrázků, přizpůsobovat obrázky, vkládat nebo rozšiřovat obrázek, přidávat obrázek vodoznaku, přidávat do obrázku efekty rozostření a mnoho dalších.

Previous Next

Začínáme s imaginární

Nejjednodušší a doporučený způsob instalace imaginary je přes GitHub.

Nainstalujte imaginární přes GitHub

go get -u github.com/h2non/imaginary

Převeďte obrázky do jiných formátů přes Go

Imaginární knihovna API s otevřeným zdrojovým kódem obsahuje podporu pro snadnou konverzi vašich obrázků do jiných podporovaných formátů souborů. Obrázky můžete ukládat v některých velmi užitečných formátech, jako jsou formáty JPEG, PNG a WEBP. Knihovna poskytuje podporu převodu s dalšími nastaveními kvality a komprese. Stačí zadat správný název obrázku, adresu a formát převodu a knihovna jej snadno převede za vás pomocí několika příkazů Go.

Převést obrázek přes imaginární knihovnu

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 oříznutí obrázku přes Go

Imaginární knihovna s otevřeným zdrojovým kódem umožňuje vývojářům softwaru oříznout své obrázky online pomocí pouhých několika řádků kódu Go uvnitř jejich vlastních aplikací. Obrázek můžete oříznout zadáním vlastní šířky nebo výšky. Knihovna vám usnadní práci tím, že zachová poměr obrazu. Knihovna také podporuje oříznutí obrázku pomocí vestavěného algoritmu inteligentního oříznutí libvips. Můžete také definovat úroveň komprese obrázků pro obrázky PNG a snadno je převrátit, převrátit a otočit.

Image Dropping přes knihovnu Go

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

Změnit velikost obrázků tak, aby se vešly

Bezplatná imaginární knihovna obsahuje podporu pro změnu velikosti obrázků, aby se vešly pomocí příkazů Go uvnitř jejich aplikací. Můžete snadno změnit velikost obrázku tak, aby se vešel do šířky a výšky, bez oříznutí. Knihovna vám usnadní práci tím, že zachová poměr stran obrazu. Šířka a výška určují maximální ohraničovací rámeček obrázku.

Resize Image přes Free Go knihovna

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)
}

Otáčet a automaticky otáčet své obrázky

Bezplatná imaginární knihovna poskytuje funkce pro snadné otáčení obrázků. Obsahuje také velmi užitečnou funkci pro automatické otáčení obrázků v aplikacích Go. Automaticky otočí obrázek bez dalších transformací obrázku na základě metadat orientace EXIF. Metoda AutoRotate vytvoří nový obrázek se stejnou velikostí a formátem jako vstupní obrázek.

Auto-Rotate Obrázek přes Free Go knihovna

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{}
		}
	}
 Čeština