Görüntü Oluşturma ve Manipülasyon için Açık Kaynaklı Go Kitaplığı
JPEG, PNG, GIF, TIFF ve BMP Görüntülerini Yeniden Boyutlandırma, Kırpma ve Döndürmeyi destekleyen güçlü Go API'si. Ayrıca görüntülerin parlaklığını, kontrastını, gama düzeltmesini de ayarlayabilirsiniz.
Açık kaynak Go Imaging API, görüntü oluşturma ve işleme ile ilgili eksiksiz işlevsellik sağlayan çok güçlü bir pakettir. Kitaplık çok esnektir ve geliştiricilerin yalnızca birkaç satır kodla kolayca yeni görüntüler oluşturmasına ve mevcut olanları değiştirmesine olanak tanır.
Imaging, boyut olarak küçük ve işlevsellik açısından verimli olan saf bir Go kitaplığıdır. JPEG, PNG, GIF, TIFF, BMP ve daha pek çok önemli görüntü dosyası formatı için destek içerir. Kitaplık ayrıca görüntüyü yeniden boyutlandırmak için birkaç yeniden örnekleme filtresi içeriyor. Bazı önemli filtreler NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box vb. Kütüphane ayrıca geliştiricilerin özel filtreler oluşturmasını da kolaylaştırdı.
Ücretsiz Görüntüleme kitaplığı, görüntüleri yeniden boyutlandırma, görüntü döndürme, görüntü kırpma, görüntü parlaklığını ayarlama, görüntü kontrast ayarlamaları, görüntülerin gama düzeltmesi, görüntünün doygunluğunu değiştirme, görüntüleri klonlama, görüntü gibi görüntü işleme ile ilgili birçok önemli özelliği içermektedir. görüntüleri bulanıklaştırma, kodlama ve kodunu çözme, görüntü bindirme, netlik ekleme, küçük resim oluşturma ve diğer birçok özellik.
Görüntülemeye Başlarken
Imagingis'i GitHub aracılığıyla kurmanın en kolay ve önerilen yolu.
GitHub aracılığıyla Imaging'i yükleyin
go get -u github.com/disintegration/imaging
Go API ile Yeni Resim Oluştur
Açık kaynak görüntüleme kitaplığı, Go komutlarını kullanarak kendi uygulamaları içinde yeni görüntüler oluşturma desteği içerir. Yeni görüntü oluşturma, görüntünün genişliğini, yüksekliğini, arka plan rengini ve görüntünün çıktı biçimini gerektirir. Ayrıca oluşturulan görüntüyü kolayca değiştirebilir ve çevirme, opaklık ayarlama, karıştırma, bulanıklaştırma ve çok daha fazlası gibi farklı işlemleri gerçekleştirebilirsiniz.
Go API ile Yeni Resim Oluştur
func New(width, height int, fillColor color.Color) *image.NRGBA {
if width <= 0 || height <= 0 {
return &image.NRGBA{}
}
c := color.NRGBAModel.Convert(fillColor).(color.NRGBA)
if (c == color.NRGBA{0, 0, 0, 0}) {
return image.NewNRGBA(image.Rect(0, 0, width, height))
}
return &image.NRGBA{
Pix: bytes.Repeat([]byte{c.R, c.G, c.B, c.A}, width*height),
Stride: 4 * width,
Rect: image.Rect(0, 0, width, height),
}
}
Go ile Diğer Formatlara Görüntü Dönüştürme
Yazılım geliştiriciler, ücretsiz bir görüntüleme kitaplığı kullanarak görüntülerini kendi GO Uygulamaları içinde desteklenen diğer dosya biçimlerine kolayca dönüştürebilir. Görüntü adını ve çıktı görüntü biçimini sağlamanız yeterlidir. Kaydet işlevini kullanarak görüntüleri PNG, BMP, GIF, JPEG, TIFF ve daha fazlası gibi desteklenen diğer birçok görüntü dosyası formatına kolayca aktarabilirsiniz.
Resimleri Yeniden Boyutlandır ve Kırp
Ücretsiz görüntüleme API'si, Go komutlarını kullanarak görüntüleri ihtiyaçlarınıza göre yeniden boyutlandırma işlevi içerir. İlk olarak, bir görüntüyü açmanız ve yeniden boyutlandırmak için görüntünün yüksekliğini ve genişliğini sağlamanız gerekir. Diğer bir seçenek de, en boy oranını koruyarak yalnızca genişlik sağlayarak görüntüyü yeniden boyutlandırabilmenizdir. Kitaplık ayrıca özel genişlik, yükseklik sağlayarak ve merkez çapayı kullanarak orijinal görüntünün kırpılmasına da olanak tanır.
Ek & Resize Image via Go API
func cropAndResize(img image.Image, width, height int, anchor Anchor, filter ResampleFilter) *image.NRGBA {
dstW, dstH := width, height
srcBounds := img.Bounds()
srcW := srcBounds.Dx()
srcH := srcBounds.Dy()
srcAspectRatio := float64(srcW) / float64(srcH)
dstAspectRatio := float64(dstW) / float64(dstH)
var tmp *image.NRGBA
if srcAspectRatio < dstAspectRatio {
cropH := float64(srcW) * float64(dstH) / float64(dstW)
tmp = CropAnchor(img, srcW, int(math.Max(1, cropH)+0.5), anchor)
} else {
cropW := float64(srcH) * float64(dstW) / float64(dstH)
tmp = CropAnchor(img, int(math.Max(1, cropW)+0.5), srcH, anchor)
}
return Resize(tmp, dstW, dstH, filter)
}
Görüntüleri Çevir, Döndür, Bulanıklaştır ve Klonla
Görüntüleme kitaplığı, görüntü çevirme, görüntü döndürme, bulanıklaştırma ve klonlama gibi görüntü işleme için birkaç önemli özellik içermektedir. Mevcut bir görüntünün bir kopyasını oluşturmak için Klonlama işlevini çağırmanız ve mevcut görüntüyü sağlamanız yeterlidir. Kitaplık ayrıca sadece birkaç satır kodla görüntünüzü döndürmeyi ve çevirmeyi de destekler. Bir görüntüyü saat yönünün tersine verilen açıyla kolayca döndürebilirsiniz. Açı parametresi, derece cinsinden dönüş açısıdır.
Clone Image via via via Git API
func Clone(img image.Image) *image.NRGBA {
src := newScanner(img)
dst := image.NewNRGBA(image.Rect(0, 0, src.w, src.h))
size := src.w * 4
parallel(0, src.h, func(ys <-chan int) {
for y := range ys {
i := y * dst.Stride
src.scan(0, y, src.w, y+1, dst.Pix[i:i+size])
}
})
return dst
}