Daha Sürətli Emal təmin edən Açıq Mənbəli Şəklin Ölçmə Ölçüsü Serveri
Picfit, Pure Go-da hazırlanmış təsvir ölçüsünü dəyişdirən serverdir və istifadə olunan saxlama mühərrikindən asılı olmayaraq təsvirin işlənməsinin saxlama hissəsinə diqqət yetirir.
Şəkliniz müxtəlif mühərriklərdə saxlanılırsa, təsvirin işlənməsi, xüsusən də ölçüsünün dəyişdirilməsi uzun proses ola bilər, çünki tətbiqin avatarların kodlarını silmək və yaradılan təsviri əldə etmək üçün sinxron zənglərdən qaçmaq üçün vaxt tələb oluna bilər.
Picfit saxlama mühərrikiniz və HTTP keş sisteminiz arasında proxy rolunu oynayaraq bu problemləri həll edir. Yükləmək pulsuz, açıq mənbə və daha sürətli emal təmin etsə də, eyni təsviri iki dəfə yaratmaqdan və çox yer tutmaqdan çəkinir.
Siz şəkilləri Amazon S3, DigitalOcean S3, fayl sisteminizdə və sairdə saxlaya bilərsiniz.
Picfit ilə işə başlamaq
Picfit quraşdırmağın ən asan və tövsiyə olunan yolu GitHub vasitəsilədir. Asan və hamar quraşdırma üçün aşağıdakı əmrdən istifadə edin.
GitHub vasitəsilə Picfit quraşdırın
git clone https://github.com/thoas/picfit.git
Pulsuz GO Kitabxanası vasitəsilə şəkillərin ölçüsünü dəyişdirin
Açıq mənbəli picfit kitabxanası proqram tərtibatçılarına Go əmrlərindən istifadə edərək öz proqramlarında şəkillərin ölçüsünü proqramlı şəkildə dəyişməyə imkan verir. Picfit-in əsas funksiyalarından biri şəkillərin ölçüsünü seçdiyiniz hündürlük və enə görə dəyişmək imkanıdır. Sadəcə olaraq w (istənilən şəklin eni) və h (istənilən şəklin hündürlüyü) dəyərlərini təqdim edin.
Pulsuz GO Kitabxanası vasitəsilə şəklin ölçüsünü dəyişdirin
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)
}
Miniatürləri yaratmaq üçün Pulsuz Go Library
Siz bu funksiyadan yuxarı və ya aşağı miqyaslı yenidən nümunələnmiş filtrlə yeni şəkil yaratmaq və onu müəyyən edilmiş hündürlük və enə kəsmək üçün istifadə edə bilərsiniz. Yenə bu funksiyada siz w və h qiymətlərini təqdim etməlisiniz.
GO Tətbiqlərində GIF kiçik şəkillərini necə yaratmaq olar?
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)
}
Go API vasitəsilə Şəkil məlumatını bərpa edin
Ölçü dəyişdirmə funksiyaları ilə yanaşı, Picfit də Alın, həmçinin saxlama və ya yükləmə əmrləri kimi fayl məlumatlarını əldə etmək üçün bəzi vacib funksiyalara malikdir. Get funksiyası ilə nəticədə aşağıdakı parametrləri əldə edəcəksiniz:
- Fayl adı: yaradılan faylın adı
- Yol: bu, yaddaş mühərrikinizdə yaradılan faylın yolu olacaq
- URL: əgər base_url mövcuddursa, siz yaradılan faylın tam URL-sini alacaqsınız