Bibliothèque Go Open Source pour la création et la manipulation d'images
API Go puissante qui prend en charge le redimensionnement, le recadrage et la rotation des images JPEG, PNG, GIF, TIFF et BMP. Vous pouvez également régler la luminosité de l'image, le contraste, la correction gamma des images.
L'API Go Imaging open source est un package très puissant qui fournit des fonctionnalités complètes liées à la création et à la manipulation d'images. La bibliothèque est très flexible et permet aux développeurs de créer facilement de nouvelles images et de modifier celles existantes avec seulement quelques lignes de code.
L'imagerie est une bibliothèque pure qui est de petite taille et efficace en fonctionnalité. Il a également appuyé plusieurs formats importants de fichiers d'images comme JPEG, NG, GIF, TIFF, BMP et bien d'autres. La bibliothèque a également inclus plusieurs filtres d'échantillonnage pour la résidence d'images. Certains filtres importants sont NearestNeighbor, Lancers, CatmullRom, MitchellNetravali, Linear, Box, etc. La bibliothèque a également facilité les développeurs à créer des filtres personnalisés.
La bibliothèque d'imagerie libre comprend plusieurs caractéristiques importantes liées au traitement de l'image, telles que les images résidantes, la rotation des images, la culture d'image, l'ajustement de l'image, la correction des images.
Premiers pas avec l'imagerie
Le moyen le plus simple et recommandé d'installer Imagingest via GitHub.
Installer l'imagerie via GitHub
go get -u github.com/disintegration/imaging
Générer une nouvelle image via l'API Go
La bibliothèque d'imagerie open source a inclus la prise en charge de la génération de nouvelles images dans leur propre application à l'aide des commandes Go. La nouvelle création d'image nécessite la largeur, la hauteur, la couleur d'arrière-plan de l'image et le format de sortie de l'image. Vous pouvez également modifier facilement l'image créée et effectuer différentes opérations telles que le retournement, le réglage de l'opacité, le mélange, le flou et bien plus encore.
Générer une nouvelle image via l'API Go
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),
}
}
Conversion d'images vers d'autres formats via Go
Les développeurs de logiciels peuvent facilement convertir leurs images dans d'autres formats de fichiers pris en charge dans leurs propres applications GO à l'aide d'une bibliothèque d'images gratuite. Il vous suffit de fournir le nom de l'image et le format de l'image de sortie. À l'aide de la fonction Enregistrer, vous pouvez facilement exporter les images vers plusieurs autres formats de fichiers d'image pris en charge tels que PNG, BMP, GIF, JPEG, TIFF, etc.
Redimensionner et recadrer les images
L'imagerie libre API a inclus la fonctionnalité pour les images résidantes selon vos besoins en utilisant les commandements G. Premièrement, vous devez ouvrir une image et fournir la hauteur ainsi que la largeur de l'image pour la revendre. Une autre option est que vous pouvez revendre l'image en offrant simplement la largeur en préservant le rapport d'aspect. La bibliothèque permet également la culture de l'image originale en fournissant la largeur, la hauteur et l'ancrage du centre.
Cultures Rétablir l'image par l'intermédiaire du G 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)
}
Retourner, faire pivoter, flouter et cloner des images
La bibliothèque d'imagerie a inclus plusieurs fonctionnalités importantes pour la manipulation d'images telles que le retournement d'image, la rotation d'image, le flou et le clonage. Pour faire une copie d'une image existante, il vous suffit d'appeler la fonction Clone et de fournir l'image existante. La bibliothèque prend également en charge la rotation et le retournement de votre image avec seulement quelques lignes de code. Vous pouvez facilement faire pivoter une image de l'angle donné dans le sens inverse des aiguilles d'une montre. Le paramètre d'angle est l'angle de rotation en degrés.
Image par clone 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
}