1. Producten
  2.   Afbeelding
  3.   GO
  4.   Imaging
 
  

Open Source Go-bibliotheek voor het maken en manipuleren van afbeeldingen

Krachtige Go API die JPEG-, PNG-, GIF-, TIFF- en BMP-afbeeldingen ondersteunt, formaat wijzigen, bijsnijden en roteren. U kunt ook de helderheid, het contrast en de gammacorrectie van de afbeeldingen aanpassen.

De open source Go Imaging API is een zeer krachtig pakket dat volledige functionaliteit biedt met betrekking tot het maken en manipuleren van afbeeldingen. De bibliotheek is zeer flexibel en stelt ontwikkelaars in staat om eenvoudig nieuwe afbeeldingen te maken en bestaande afbeeldingen aan te passen met slechts een paar regels code.

De Imaging is een pure Go-bibliotheek die klein van formaat is en efficiënt in functionaliteit. Het biedt ondersteuning voor verschillende belangrijke bestandsindelingen voor afbeeldingen, zoals JPEG, PNG, GIF, TIFF, BMP en nog veel meer. De bibliotheek heeft ook verschillende resampling-filters voor het wijzigen van het formaat van afbeeldingen. Enkele belangrijke filters zijn NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box, enzovoort. De bibliotheek heeft ontwikkelaars ook gefaciliteerd om aangepaste filters te maken.

De gratis Imaging-bibliotheek bevat verschillende belangrijke functies met betrekking tot beeldverwerking, zoals het formaat van afbeeldingen wijzigen, beeldrotatie, beeld bijsnijden, beeldhelderheid aanpassen, beeldcontrastaanpassingen, gammacorrectie van de afbeeldingen, de verzadiging van de afbeelding wijzigen, afbeeldingen klonen, afbeelding vervagen, coderen en decoderen van afbeeldingen, beeldoverlay, scherpte toevoegen, thumbnails maken en vele andere functies.

Previous Next

Aan de slag met beeldvorming

De gemakkelijkste en aanbevolen manier om Imagingis te installeren via GitHub.

Installeer Imaging via GitHub

go get -u github.com/disintegration/imaging

Genereer nieuwe afbeelding via Go API

De open source imaging-bibliotheek biedt ondersteuning voor het genereren van nieuwe afbeeldingen in hun eigen applicatie met behulp van Go-commando's. De nieuwe afbeeldingscreatie vereist afbeeldingsbreedte, hoogte, achtergrondkleur van de afbeelding en uitvoerformaat van de afbeelding. U kunt de gemaakte afbeelding ook eenvoudig wijzigen en verschillende bewerkingen uitvoeren, zoals spiegelen, dekking instellen, overvloeien, vervagen en nog veel meer.

Genereer nieuwe afbeelding 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),
	}
}

Beeldconversie naar andere formaten via Go

Softwareontwikkelaars kunnen hun afbeeldingen eenvoudig converteren naar andere ondersteunde bestandsindelingen in hun eigen GO-apps met behulp van een gratis beeldverwerkingsbibliotheek. U hoeft alleen de afbeeldingsnaam en het uitvoerbeeldformaat op te geven. Met de functie Opslaan kunt u de afbeeldingen eenvoudig exporteren naar verschillende andere ondersteunde afbeeldingsbestandsindelingen zoals PNG, BMP, GIF, JPEG, TIFF en meer.

Formaat wijzigen en afbeeldingen bijsnijden

De gratis beeldverwerkings-API bevat functionaliteit voor het aanpassen van het formaat van afbeeldingen aan uw behoeften met behulp van Go-commando's. Eerst moet u een afbeelding openen en zowel de hoogte als de breedte van de afbeelding opgeven om het formaat te wijzigen. Een andere optie is dat u het formaat van de afbeelding kunt wijzigen door alleen de breedte op te geven met behoud van de beeldverhouding. De bibliotheek maakt het ook mogelijk om de originele afbeelding bij te snijden door aangepaste breedte en hoogte te bieden en het middelste anker te gebruiken.

Quality over Quantity (QoQ) Releases Vertaling:

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

Afbeeldingen spiegelen, roteren, vervagen en klonen

De Imaging-bibliotheek heeft verschillende belangrijke functies voor beeldmanipulatie, zoals het spiegelen van afbeeldingen, het roteren van afbeeldingen, vervaging en klonen. Om een kopie van een bestaande afbeelding te maken, hoeft u alleen maar de Clone-functie aan te roepen en de bestaande afbeelding op te geven. De bibliotheek ondersteunt ook het roteren en omdraaien van uw afbeelding met slechts een paar regels code. U kunt een afbeelding eenvoudig met de gegeven hoek tegen de klok in draaien. De hoekparameter is de rotatiehoek in graden.

Clone Image

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