1. Produkter
  2.   Bild
  3.   GO
  4.   Imaging
 
  

Open Source Go Library för bildskapande och -manipulation

Kraftfullt Go API som stöder Ändra storlek, beskär och rotera JPEG-, PNG-, GIF-, TIFF- och BMP-bilder. Du kan också justera bildens ljusstyrka, kontrast, gammakorrigering av bilderna.

Go Imaging API med öppen källkod är ett mycket kraftfullt paket som ger komplett funktionalitet relaterad till bildskapande och manipulation. Biblioteket är mycket flexibelt och låter utvecklare enkelt skapa nya bilder och modifiera befintliga med bara ett par rader kod.

The Imaging är ett rent Go-bibliotek som är litet i storlek och effektivt i funktionalitet. Det har inkluderat stöd för flera viktiga bildfilformat som JPEG, PNG, GIF, TIFF, BMP och många fler. Biblioteket har också inkluderat flera omsamplingsfilter för bildstorleksändring. Några viktiga filter är NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box och så vidare. Biblioteket har också underlättat utvecklare att skapa anpassade filter.

Det kostnadsfria bildbehandlingsbiblioteket har inkluderat flera viktiga funktioner relaterade till bildbehandling, såsom storleksändring av bilder, bildrotation, bildbeskärning, justering av bildens ljusstyrka, bildkontrastjusteringar, gammakorrigering av bilderna, ändring av bildens mättnad, klonbilder, bild oskärpa, koda och avkoda bilder, bildöverlägg, lägg till skärpa, skapa miniatyrbilder och många andra funktioner.

Previous Next

Komma igång med bildbehandling

Det enklaste och rekommenderade sättet att installera Imagingis via GitHub.

Installera bildbehandling via GitHub

go get -u github.com/disintegration/imaging

Generera ny bild via Go API

Bildbiblioteket med öppen källkod har inkluderat stöd för att generera nya bilder i sin egen applikation med hjälp av Go-kommandon. Den nya bildskapandet kräver bildbredd, höjd, bakgrundsfärg på bilden och utdataformat för bilden. Du kan också enkelt modifiera den skapade bilden och utföra olika operationer som att vända, ställa in opacitet, blanda, oskärpa och mycket mer.

Generera ny bild via Go API

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

Bildkonvertering till andra format via Go

Mjukvaruutvecklare kan enkelt konvertera sina bilder till andra filformat som stöds i sina egna GO-appar med hjälp av ett gratis bildbibliotek. Du behöver bara ange bildnamnet och utdatabildformatet. Med hjälp av Spara-funktionen kan du enkelt exportera bilderna till flera andra bildfilformat som stöds som PNG, BMP, GIF, JPEG, TIFF, med mera.

Ändra storlek och beskära bilder

Free imaging API har inkluderat funktionalitet för att ändra storlek på bilder enligt dina behov med hjälp av Go-kommandon. Först måste du öppna en bild och ange höjden såväl som bredden på bilden för att ändra storlek på den. Ett annat alternativ är att du kan ändra storlek på bilden genom att bara tillhandahålla bredd genom att bevara bildförhållandet. Biblioteket tillåter också beskärning av originalbilden genom att tillhandahålla anpassad bredd, höjd och använda mittankaret.

Gröda & Storlek Bild 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)
}

Vänd, rotera, oskärpa och klona bilder

Bildbiblioteket har inkluderat flera viktiga funktioner för bildmanipulering som bildvändning, bildrotation, suddighet och kloning. För att göra en kopia av en befintlig bild behöver du bara anropa Clone-funktionen och tillhandahålla den befintliga bilden. Biblioteket stöder också att rotera och vända din bild med bara ett par rader kod. Du kan enkelt rotera en bild med den angivna vinkeln moturs. Vinkelparametern är rotationsvinkeln i grader.

Klonbild via Go 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
}
 Svenska