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

Açıq Mənbə Yüksək Səviyyəli Şəkil Emalı Go kitabxanası

Şəkillərin fırlanmasına, Fit şəkillərinə, şəkil miniatürlərinin yaradılmasına, şəkli böyütməyə, təsviri yerləşdirməyə və ya genişləndirməyə, şəklə bulanıqlıq effektləri əlavə etməyə və s. imkan verən Go API.

bimg açıq mənbəli yüksək səviyyəli təsviri emal edən Go kitabxanasıdır və yalnız bir neçə sətir Go kodu ilə şəkilləri oxumaq və manipulyasiya etmək imkanı verir. Kitabxananın ölçüsü daha kiçikdir, lakin çox yaxşı təşkil edilmiş və səmərəli nəticələr verir. Kitabxana tapşırığı yerinə yetirmək üçün çox kiçik yaddaş tələb edən digər mövcud kitabxanalarla müqayisədə çox sürətlidir.

Bimg, şəkilləri emal etmək üçün çox güclü bir kitabxana olan libvips üzərində qurulmuş yüksək səviyyəli C kitabxanasıdır. O, JPEG, PNG, WEBP, TIFF, PDF, GIF, SVG və s. kimi çox məşhur şəkil fayl formatlarını oxumaq üçün dəstək verir. Siz həmçinin şəkilləri JPEG, PNG, WEBP formatlarına, eləcə də şəffaf şəkillərə asanlıqla ixrac edə bilərsiniz.

Bimg kitabxanasına şəkillərin ölçüsünü dəyişmək, şəkli böyütmək, ağıllı kəsmə dəstəyi, şəkilləri çevirmək və ya fırlatmaq, təsvirin kiçik şəkillərini yaratmaq, təsviri böyütmək dəstəyi, su nişanı və Qauss bulanıqlığı effekti əlavə etmək, xüsusi çıxarış kimi bir neçə mühüm təsvirin işlənməsi funksiyaları üçün dəstək daxildir. təsvirin sahəsi, şəkillərin kəsilməsi, şəklin digər formatlara çevrilməsi və s.

Previous Next

bimg ilə işə başlamaq

Bimg quraşdırmağın ən asan və tövsiyə olunan yolu GitHub vasitəsilədir.

GitHub vasitəsilə bimg quraşdırın

 go get -u gopkg.in/h2non/bimg.v1

Go vasitəsilə şəkillərin digər formatlara çevrilməsi

Açıq mənbə bimg kitabxanası proqram tərtibatçılarına bir neçə sətir Go kodu ilə şəkilləri proqramlı şəkildə digər dəstəklənən fayl formatlarına çevirməyə imkan verir. Tutaq ki, sizin JPEG formatınız var və onu PNG formatına çevirmək istəyirsiniz. Şəkil adı, ünvanı və çevrilmə formatı kimi şəkil məlumatını təqdim etməlisiniz. Şəkil asanlıqla təklif olunan formata uğurla çevriləcək.

Go Library vasitəsilə JPG şəklini PNG-yə çevirin

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Convert(bimg.PNG)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
if bimg.NewImage(newImage).Type() == "png" {
  fmt.Fprintln(os.Stderr, "The image was converted into png")
}

Şəkilləri kəsin və ya ölçüsünü dəyişdirin

Pulsuz bimg kitabxanası proqram tərtibatçılarına öz Go proqramlarında şəkillərinin ölçüsünü dəyişmək və həmçinin kəsmək imkanı verir. Siz həmçinin yeni təsvirin eni və hündürlüyünü və yerini təmin etməlisiniz. O, həmçinin aspekt nisbətini qorumadan ölçü dəyişdirmə əməliyyatlarının məcbur edilməsini dəstəkləyir. Siz həmçinin mətn əlavə edə və şəkildən istədiyiniz sahəni çıxara bilərsiniz. Təsviri göstərilən dəqiq ölçüyə qədər kəsin.

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

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Resize(800, 600)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
size, err := bimg.NewImage(newImage).Size()
if size.Width == 800 && size.Height == 600 {
  fmt.Println("The image size is valid")
}
bimg.Write("new.jpg", newImage)

Şəkillərə su nişanlarının əlavə edilməsi

bimg API asanlıqla Go proqramlarında şəkillərə su nişanı əlavə etmək funksiyasını ehtiva edir. Su nişanı əlavə etmək şəkillərinizi qorumaq üçün çox faydalı xüsusiyyətdir. Su nişanı internetdə fotoşəkillərinizi qorumaq üçün ən asan və çox faydalı üsuldur. Siz asanlıqla loqo və ya mətn su nişanı yerləşdirə bilərsiniz. Kitabxana hər hansı seçilmiş mövqedə, eləcə də qeyri-şəffaflıqda şəkilinizə proqramlı şəkildə su nişanı əlavə etməyə kömək edir.

Go API vasitəsilə Şəkilə su nişanı əlavə edin

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
watermark := bimg.Watermark{
  Text:       "Chuck Norris (c) 2315",
  Opacity:    0.25,
  Width:      200,
  DPI:        100,
  Margin:     150,
  Font:       "sans bold 12",
  Background: bimg.Color{255, 255, 255},
}
newImage, err := bimg.NewImage(buffer).Watermark(watermark)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)

Şəkilləri çevirin və fırladın

Açıq mənbə bimg kitabxanası proqram tərtibatçılarına Go dil əmrlərindən istifadə edərək şəkillərini ehtiyaclarına uyğun olaraq fırlatmaq imkanı verir. Şəklin avtomatik fırlanması üçün bir üsul var. Avtomatik Döndürmə funksiyası, əgər varsa, EXIF oriyentasiya metadatasına əsaslanaraq, heç bir əlavə transformasiya olmadan şəkli avtomatik olaraq fırladır. O, həmçinin flip və ya flop şəkillərinə, təsvirin şərhinə, təsvir uzunluğuna, təsvir metadatasına və daha çoxuna dəstək verir.

Şəkili Go Apps daxilində fırladın

buffer, err := bimg.Read("image.jpg")
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
newImage, err := bimg.NewImage(buffer).Rotate(90)
if err != nil {
  fmt.Fprintln(os.Stderr, err)
}
bimg.Write("new.jpg", newImage)
 Azəri