1. Məhsullar
  2.   Şəkil
  3.   GO
  4.   imaginary
 
  

HTTP Əsaslı Şəkil Emalı üçün API-yə keçin

Onlayn ağıllı kəsməni, şəkilləri çevirməyi və ya çevirməyi, şəkil miniatürlərini yaratmağı, təsviri böyütməyi, PNG, WEBP, TIFF, PDF, GIF və SVG-yə su nişanı əlavə etməyi və s. funksiyaları dəstəkləyən Açıq Mənbəli Go Kitabxanası.

Xəyali, proqram tərtibatçılarına daha az asılılıqla özəl və ya ictimai HTTP xidmətləri vasitəsilə qabaqcıl təsvir əməliyyatlarını yerinə yetirmək üçün güc verən çox güclü açıq mənbəli HTTP əsaslı təsviri emal edən Go API-dir. O, API token icazəsi, URL imza mühafizəsi, HTTP trafik tənzimləmə strategiyası və veb müştərilər üçün CORS dəstəyi kimi qabaqcıl əməliyyatları dəstəkləyir. Kitabxana HTTP POST yüklərindən, yerli server yollarından və ya uzaq HTTP serverlərindən şəkilləri oxuya bilər.

Xəyali libvips üzərində qurulmuş güclü və sabit bir kitabxanadır, sürətli və səmərəli təsvir emalı. Kitabxanaya JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF və SVG formatları kimi şəkil formatları, eləcə də onlar arasında şəffaf çevrilmə dəstəyi daxildir. Docker & Fly.io üçün tam dəstək verdi. Fly-ın ən yaxşı cəhəti odur ki, o, gecikməni azalda bilər və istifadəçinin olduğu yerə yaxın trafikə xidmət etməklə daha yaxşı təcrübə təmin edə bilər.

Xəyali kitabxana təsvirin ölçüsünün dəyişdirilməsi, şəkillərin böyüdülməsi, təsvirin kəsilməsi, smart-kəsmə, şəkillərin fırlanması, əlavə şəkil çevrilmələri ilə Avtomatik Döndürmə, EXIF metadatasına əsaslanan avtomatik çevirmə, şəkil kimi təsvirin yaradılması, konvertasiyası və manipulyasiyası ilə bağlı bir sıra vacib funksiyaları tam dəstəkləyir. flop, şəkilləri böyüt, şəkillərin miniatürlərini yaradın, şəkillərə uyğunlaşdırın, təsviri yerləşdirin və ya genişləndirin, su nişanı şəkli əlavə edin, təsvirə bulanıqlıq effektləri əlavə edin və s.

Previous Next

Xəyali ilə başlamaq

Xəyali quraşdırmanın ən asan və tövsiyə olunan yolu GitHub vasitəsilədir.

GitHub vasitəsilə xəyali quraşdırın

go get -u github.com/h2non/imaginary

Go vasitəsilə şəkilləri digər formatlara çevirin

Açıq mənbəli API xəyali kitabxanası şəkillərinizi asanlıqla digər dəstəklənən fayl formatlarına çevirmək üçün dəstəyi ehtiva edir. Şəkilləri JPEG, PNG və WEBP formatları kimi çox faydalı formatlarda saxlaya bilərsiniz. Kitabxana əlavə keyfiyyət və sıxılma parametrləri ilə konvertasiya dəstəyi təmin etmişdir. Siz sadəcə olaraq düzgün şəkil adını, ünvanını və çevirmə formatını təqdim etməlisiniz və kitabxana onu sadəcə bir neçə Go əmri ilə sizin üçün asanlıqla çevirəcək.

Xəyali Kitabxana vasitəsilə Şəkli çevirin

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

Go vasitəsilə onlayn şəkil kəsmə

Açıq mənbəli xəyali kitabxana proqram tərtibatçılarına öz tətbiqlərində bir neçə sətir Go kodu ilə şəkillərini onlayn kəsməyə imkan verir. Xüsusi genişlik və ya hündürlük təmin etməklə şəklinizi kəsə bilərsiniz. Kitabxana Şəkil nisbətini qorumaqla işinizi asanlaşdırır. Kitabxana həmçinin libvips daxili ağıllı kəsmə alqoritmindən istifadə edərək şəklin kəsilməsini dəstəkləyir. Siz həmçinin PNG şəkilləri üçün təsvirin sıxılma səviyyəsini təyin edə və şəkillərinizi asanlıqla çevirə, çevirə və döndərə bilərsiniz.

Go Library vasitəsilə şəklin kəsilməsi

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

Şəkillərin ölçüsünü uyğunlaşdırmaq üçün dəyişdirin

Pulsuz xəyali kitabxana, tətbiqlərindəki Go əmrlərindən istifadə edərək şəkillərin ölçüsünü dəyişdirmək üçün dəstəyi ehtiva edir. Şəklin ölçüsünü kəsmədən eni və hündürlüyünə uyğunlaşdırmaq üçün asanlıqla dəyişə bilərsiniz. Kitabxana görüntü nisbətini qorumaqla işinizi asanlaşdırır. Genişlik və hündürlük şəkil üçün maksimum məhdudlaşdırıcı qutunu təyin edir.

Pulsuz Go Library vasitəsilə şəklin ölçüsünü dəyişdirin

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

Şəkillərinizi Döndürün və Avtomatik Döndürün

Pulsuz xəyali kitabxana şəkillərinizi asanlıqla fırlatmaq üçün funksionallıq təmin etdi. O, həmçinin Go proqramları daxilində şəkillərin avtomatik fırlanması üçün çox faydalı funksiyanı ehtiva edir. O, EXIF oriyentasiya metadatasına əsaslanaraq, heç bir əlavə şəkil dəyişdirmədən şəkli avtomatik olaraq fırladır. AutoRotate metodu daxil edilən təsvirlə eyni ölçüdə və formatda yeni şəkil yaradır.

Pulsuz Go Library vasitəsilə Şəkili Avtomatik Döndürün

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{}
		}
	}
 Azəri