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

Open-Source-Go-Bibliothek zur Erstellung und Bearbeitung von Bildern

Leistungsstarke Go API, die Größenänderung, Zuschneiden und Drehen von JPEG-, PNG-, GIF-, TIFF- und BMP-Bildern unterstützt. Sie können auch die Bildhelligkeit, den Kontrast und die Gammakorrektur der Bilder anpassen.

Die Open-Source-API von Go Imaging ist ein sehr leistungsfähiges Paket, das vollständige Funktionen für die Erstellung und Bearbeitung von Bildern bietet. Die Bibliothek ist sehr flexibel und ermöglicht es Entwicklern, mit nur wenigen Codezeilen problemlos neue Bilder zu erstellen und vorhandene zu ändern.

The Imaging ist eine reine Go-Bibliothek, die klein und leistungsfähig ist. Es hat Unterstützung für mehrere wichtige Bilddateiformate wie JPEG, NG, GIF, TIFF, BMP und viele mehr enthalten. Die Bibliothek hat auch mehrere Abtastfilter für Bildreste enthalten. Einige wichtige Filter sind NearestNeighbor, Lancers, CatmullRom, MitchellNetravali, Linear, Box usw. Die Bibliothek hat Entwicklern auch ermöglicht, eigene Filter zu erstellen.

Die kostenlose Bildbearbeitungsbibliothek enthält einige wichtige Funktionen zur Bildverarbeitung, wie z.B. Bildreste, Bildrotation, Bildbearbeitung, Bildkorrektur, Farbkontrastkorrektur der Bilder, Änderung der Sättigung.

Previous Next

Erste Schritte mit der Bildgebung

Der einfachste und empfohlene Weg, Imaging zu installieren, ist über GitHub.

Installieren Sie Imaging über GitHub

go get -u github.com/disintegration/imaging

Neues Bild über die Go-API generieren

Die Open-Source-Imaging-Bibliothek bietet Unterstützung für das Generieren neuer Bilder in ihrer eigenen Anwendung mithilfe von Go-Befehlen. Die neue Bilderzeugung erfordert Bildbreite, -höhe, Hintergrundfarbe des Bildes und Ausgabeformat des Bildes. Sie können das erstellte Bild auch einfach ändern und verschiedene Vorgänge wie Spiegeln, Einstellen der Deckkraft, Mischen, Weichzeichnen und vieles mehr ausführen.

Neues Bild über die Go-API generieren

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

Bildkonvertierung in andere Formate über Go

Softwareentwickler können ihre Bilder mithilfe einer kostenlosen Bildbibliothek problemlos in andere unterstützte Dateiformate in ihren eigenen GO-Apps konvertieren. Sie müssen nur den Bildnamen und das Ausgabebildformat angeben. Mit der Speicherfunktion können Sie die Bilder ganz einfach in mehrere andere unterstützte Bilddateiformate wie PNG, BMP, GIF, JPEG, TIFF und mehr exportieren.

Bilder skalieren und zuschneiden

Die Free-Imaging API hat Funktionen für das Residieren von Bildern nach Ihren Bedürfnissen mit Go-Befehlen integriert. Zuerst müssen Sie ein Bild öffnen und die Höhe sowie die Breite des Bildes angeben, um es zu verändern. Eine andere Option ist, dass Sie die Größe des Bildes ändern können, indem Sie einfach die Breite angeben, indem Sie das Seitenverhältnis erhalten. Die Bibliothek erlaubt auch das Ausschneiden des ursprünglichen Bildes, indem sie benutzerdefinierte Breite, Höhe und den Mittelanker zur Verfügung stellt.

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

Bilder spiegeln, drehen, verwischen und klonen

Die Imaging-Bibliothek enthält mehrere wichtige Funktionen für die Bildbearbeitung, z. B. Bildspiegelung, Bilddrehung, Unschärfe und Klonen. Um eine Kopie eines vorhandenen Bildes zu erstellen, müssen Sie nur die Clone-Funktion aufrufen und das vorhandene Bild bereitstellen. Die Bibliothek unterstützt auch das Drehen und Spiegeln Ihres Bildes mit nur wenigen Codezeilen. Sie können ein Bild ganz einfach um den angegebenen Winkel gegen den Uhrzeigersinn drehen. Der Winkelparameter ist der Rotationswinkel in Grad.

Klon Image 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
}
 Deutsch