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.
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