1. Tuotteet
  2.   Kuva
  3.   GO
  4.   Imaging
 
  

Avoimen lähdekoodin Go Library kuvien luomista ja käsittelyä varten

Tehokas Go-sovellusliittymä, joka tukee kokoa, rajaa ja kierrä JPEG-, PNG-, GIF-, TIFF- ja BMP-kuvia. Voit myös säätää kuvan kirkkautta, kontrastia ja kuvien gammakorjausta.

Avoimen lähdekoodin Go Imaging API on erittäin tehokas paketti, joka tarjoaa täydelliset toiminnot, jotka liittyvät kuvien luomiseen ja käsittelyyn. Kirjasto on erittäin joustava, ja sen avulla kehittäjät voivat helposti luoda uusia kuvia ja muokata olemassa olevia kuvia vain parilla koodirivillä.

Imaging on puhdas Go-kirjasto, joka on kooltaan pieni ja toiminnaltaan tehokas. Se on tukenut useita tärkeitä kuvatiedostomuotoja, kuten JPEG, PNG, GIF, TIFF, BMP ja monia muita. Kirjastossa on myös useita uudelleennäytteenottosuodattimia kuvan koon muuttamista varten. Joitakin tärkeitä suodattimia ovat NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box ja niin edelleen. Kirjasto on myös auttanut kehittäjiä luomaan mukautettuja suodattimia.

Ilmainen Imaging-kirjasto sisältää useita tärkeitä kuvankäsittelyyn liittyviä ominaisuuksia, kuten kuvien koon muuttaminen, kuvan kierto, kuvan rajaus, kuvan kirkkauden säätäminen, kuvan kontrastin säädöt, kuvien gammakorjaus, kuvan kylläisyyden muuttaminen, kuvien kloonaaminen, kuva sumentaa, koodaa ja purkaa kuvia, peittää kuvia, lisätä terävyyttä, luoda pikkukuvia ja monia muita ominaisuuksia.

Previous Next

Kuvankäsittelyn käytön aloittaminen

Helpoin ja suositeltava tapa asentaa Imagingis GitHubin kautta.

Asenna Imaging GitHubin kautta

go get -u github.com/disintegration/imaging

Luo uusi kuva Go API:n kautta

Avoimen lähdekoodin kuvantamiskirjasto on sisältänyt tuen uusien kuvien luomiseen oman sovelluksensa sisällä Go-komentojen avulla. Uuden kuvan luominen edellyttää kuvan leveyttä, korkeutta, taustaväriä ja kuvan tulostusmuotoa. Voit myös helposti muokata luotua kuvaa ja suorittaa erilaisia toimintoja, kuten kääntää, säätää peittävyyttä, sekoittaa, sumentaa ja paljon muuta.

Luo uusi kuva Go API:n kautta

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

Kuvan muuntaminen muihin muotoihin Go:n kautta

Ohjelmistokehittäjät voivat helposti muuntaa kuvansa muihin tuettuihin tiedostomuotoihin omissa GO-sovelluksissaan käyttämällä ilmaista kuvakirjastoa. Sinun tarvitsee vain antaa kuvan nimi ja tulosteen kuvamuoto. Tallenna-toiminnon avulla voit helposti viedä kuvat useisiin muihin tuettuihin kuvatiedostomuotoihin, kuten PNG, BMP, GIF, JPEG, TIFF ja muihin.

Muuta ja rajaa kuvia

Free imaging API sisältää toiminnon kuvien koon muuttamiseen tarpeidesi mukaan Go-komentojen avulla. Ensin sinun on avattava kuva ja annettava kuvan korkeus ja leveys muuttaaksesi sen kokoa. Toinen vaihtoehto on, että voit muuttaa kuvan kokoa antamalla vain leveyden säilyttämällä kuvasuhteen. Kirjasto mahdollistaa myös alkuperäisen kuvan rajaamisen antamalla mukautetun leveyden, korkeuden ja käyttämällä keskiankkuria.

Rajaa ja muuta kuvaa Go API:n kautta

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

Käännä, kierrä, sumenna ja kloonaa kuvia

Imaging-kirjastossa on useita tärkeitä kuvankäsittelyominaisuuksia, kuten kuvan kääntäminen, kuvan kääntäminen, sumennus ja kloonaus. Jos haluat tehdä kopion olemassa olevasta kuvasta, sinun tarvitsee vain kutsua Clone-toiminto ja antaa olemassa oleva kuva. Kirjasto tukee myös kuvan kääntämistä ja kääntämistä vain parilla koodirivillä. Voit helposti kiertää kuvaa annetussa kulmassa vastapäivään. Kulmaparametri on kiertokulma asteina.

Kloonaa kuva Go API:n kautta

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