1. Produkty
  2.   Obraz
  3.   GO
  4.   Picfit
 
  

Serwer zmiany rozmiaru obrazu typu open source, który zapewnia szybsze przetwarzanie

Picfit to serwer zmiany rozmiaru obrazu opracowany w Pure Go, który zajmuje się przechowywaniem części przetwarzania obrazu bez względu na używany silnik pamięci masowej.

Przetwarzanie obrazu, w szczególności zmiana rozmiaru, może być długim procesem, jeśli obraz jest przechowywany w różnych silnikach, ponieważ aplikacja może potrzebować czasu, aby usunąć kody awatarów i uniknąć synchronicznych wywołań w celu pobrania wygenerowanego obrazu.

Picfit rozwiązuje te problemy, działając jako pośrednik między silnikiem pamięci a systemem pamięci podręcznej HTTP. Chociaż jest do pobrania za darmo, open source i zapewnia szybsze przetwarzanie, pozwala również uniknąć dwukrotnego generowania tego samego obrazu i zajmowania zbyt dużej ilości miejsca.

Możesz przechowywać obrazy w Amazon S3, DigitalOcean S3, swoim systemie plików i nie tylko.

Previous Next

Pierwsze kroki z Picfitem

Najprostszym i zalecanym sposobem instalacji Picfit jest GitHub. Użyj następującego polecenia, aby zapewnić łatwą i płynną instalację.

Zainstaluj Picfit przez GitHub

 git clone https://github.com/thoas/picfit.git

Zmień rozmiar obrazów za pośrednictwem bezpłatnej biblioteki GO

Biblioteka picfit typu open source umożliwia programistom programową zmianę rozmiaru obrazów w ich własnych aplikacjach za pomocą poleceń Go. Jedną z głównych funkcji Picfit jest możliwość zmiany rozmiaru obrazów zgodnie z wybraną wysokością i szerokością. Po prostu podaj wartości w (pożądana szerokość obrazu) i h (pożądana wysokość obrazu).  

Zmień rozmiar obrazu za pomocą bezpłatnej biblioteki GO

 func (e *GoImageEngine) Resize(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
	if options.Format == imaging.GIF {
		content, err := e.TransformGIF(img, width, height, options, imaging.Resize)
		if err != nil {
			return nil, err
		}
		return content, nil
	}
	image, err := e.Source(img)
	if err != nil {
		return nil, err
	}
	return e.resize(image, width, height, options)
}

Bezpłatna biblioteka Go do generowania miniatur

Możesz użyć tej funkcji, aby wygenerować nowy obraz z ponownie próbkowanym filtrem przeskalowanym w górę lub w dół i przyciąć go do określonej wysokości i szerokości. Ponownie w tej funkcji musisz podać wartości w i h.

Jak generować miniatury GIF w aplikacjach GO?

func (e *GoImageEngine) Thumbnail(img *imagefile.ImageFile, width int, height int, options *Options) ([]byte, error) {
	if options.Format == imaging.GIF {
		content, err := e.TransformGIF(img, width, height, options, imaging.Thumbnail)
		if err != nil {
			return nil, err
		}
		return content, nil
	}
	image, err := e.Source(img)
	if err != nil {
		return nil, err
	}
	return e.thumbnail(image, width, height, options)
}

Odzyskaj informacje o obrazie za pośrednictwem Go API

Oprócz funkcji zmiany rozmiaru, Picfit ma również kilka ważnych funkcji pobierania informacji o pliku, takich jak Pobierz, a także polecenia przechowywania lub przesyłania. Dzięki funkcji Get otrzymasz w rezultacie następujące parametry:

  • Nazwa pliku: nazwa wygenerowanego pliku
  • Ścieżka: będzie to ścieżka do wygenerowanego pliku w silniku pamięci masowej
  • URL: jeśli base_url jest obecny, otrzymasz pełny adres URL wygenerowanego pliku
 Polski