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

Open Source Go-bibliotek til billedoprettelse og -manipulation

Kraftig Go API der understøtter Resize, Crop & Rotate JPEG, PNG, GIF, TIFF og BMP-billeder. Du kan også justere billedets lysstyrke, kontrast, gammakorrektion af billederne.

Open source Go Imaging API er en meget kraftfuld pakke, der giver komplet funktionalitet relateret til billedoprettelse og -manipulation. Biblioteket er meget fleksibelt og giver udviklere mulighed for nemt at skabe nye billeder og ændre eksisterende med blot et par linjer kode.

Imaging er et rent Go-bibliotek, der er lille i størrelse og effektivt i funktionalitet. Det har inkluderet understøttelse af flere vigtige billedfilformater som JPEG, PNG, GIF, TIFF, BMP og mange flere. Biblioteket har også inkluderet flere resampling-filtre til billedstørrelse. Nogle vigtige filtre er NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box og så videre. Biblioteket har også gjort det lettere for udviklere at skabe brugerdefinerede filtre.

Det gratis billedbehandlingsbibliotek har inkluderet flere vigtige funktioner relateret til billedbehandling, såsom ændring af størrelse på billeder, billedrotation, billedbeskæring, justering af billedets lysstyrke, justeringer af billedkontrast, gammakorrektion af billederne, ændring af billedets mætning, klonbilleder, billede sløre, indkode og afkode billeder, billedoverlejring, tilføje skarphed, oprette miniaturebilleder og mange andre funktioner.

Previous Next

Kom godt i gang med billedbehandling

Den nemmeste og anbefalede måde at installere Imagingis på via GitHub.

Installer billedbehandling via GitHub

go get -u github.com/disintegration/imaging

Generer nyt billede via Go API

Open source-billedbiblioteket har inkluderet understøttelse af generering af nye billeder i deres egen applikation ved hjælp af Go-kommandoer. Den nye billedoprettelse kræver billedbredde, højde, billedets baggrundsfarve og billedets outputformat. Du kan også nemt ændre det oprettede billede og udføre forskellige handlinger som flip, indstilling af opacitet, blanding, sløring og meget mere.

Generer nyt billede 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),
	}
}

Billedkonvertering til andre formater via Go

Softwareudviklere kan nemt konvertere deres billeder til andre understøttede filformater i deres egne GO Apps ved hjælp af et gratis billedbibliotek. Du skal blot angive billednavnet og output-billedformatet. Ved at bruge funktionen Gem kan du nemt eksportere billederne til flere andre understøttede billedfilformater såsom PNG, BMP, GIF, JPEG, TIFF og mere.

Ændre størrelse og beskær billeder

Free imaging API har inkluderet funktionalitet til at ændre størrelse på billeder i overensstemmelse med dine behov ved hjælp af Go-kommandoer. Først skal du åbne et billede og angive højden samt bredden af billedet for at ændre størrelsen på det. En anden mulighed er, at du kan ændre størrelsen på billedet ved blot at give bredde ved at bevare billedformatet. Biblioteket tillader også beskæring af det originale billede ved at give brugerdefineret bredde, højde og bruge centerankeret.

Beskær og ændre størrelse på billede 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)
}

Vend, roter, slør og klon billeder

Billedbiblioteket har inkluderet flere vigtige funktioner til billedmanipulation, såsom billedvending, billedrotation, sløring og kloning. For at lave en kopi af et eksisterende billede skal du blot kalde klonfunktionen og angive det eksisterende billede. Biblioteket understøtter også rotation og vending af dit billede med blot et par linjer kode. Du kan nemt rotere et billede med den givne vinkel mod uret. Vinkelparameteren er rotationsvinklen i grader.

Klon billede 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
}
 Dansk