LibGD

 
 

Bibliothèque Open Source C pour le traitement d'image avancé

API C gratuite qui permet aux développeurs de dessiner rapidement des images, d'ajouter des lignes, des arcs, du texte, plusieurs couleurs et d'écrire le résultat sous forme de fichier PNG ou JPEG.

Les images numériques attirent toujours plus de visiteurs que le simple texte. Une image vaut mieux que mille mots. Ils ont le pouvoir d'attirer 94 % de vues en plus et d'engager plus de visiteurs. Il est toujours plus fructueux et pratique de faire passer vos messages à l'aide d'images. La bibliothèque open source LibGD permet aux programmeurs de dessiner rapidement des images, d'ajouter des lignes, des arcs, du texte, plusieurs couleurs et d'écrire le résultat sous forme de fichier PNG ou JPEG.

LibGD est une bibliothèque graphique puissante qui aide les développeurs de logiciels à générer et gérer dynamiquement des images dans leurs applications C. La bibliothèque peut lire et écrire de nombreux formats d'image différents tels que BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM et bien plus encore. La bibliothèque LibGD est couramment utilisée pour le développement de sites Web, mais peut également être utilisée avec n'importe quelle application autonome. La bibliothèque a inclus plusieurs fonctionnalités importantes pour la création et la manipulation d'images telles que la génération de tableaux, de graphiques, de vignettes et de presque tout le reste, à la volée.

Previous Next

Premiers pas avec LibGD

La méthode recommandée pour installer LibGD consiste à utiliser CMake. Veuillez utiliser la commande suivante pour des installations fluides

Installez LibGD via GitHub.

$ make install 

Clonez les dernières sources à l'aide de la commande suivante

Installez LibGD via GitHub.

$ git https://github.com/libgd/libgd.git 

Générer et modifier des images via C

La bibliothèque LibGD offre la possibilité de créer et de manipuler facilement des images. Il permet d'utiliser la création d'images aux formats de fichier BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM avec seulement quelques lignes de code C. Une grande caractéristique de la bibliothèque est qu'elle vous permet de créer des images à la volée. La bibliothèque est connue pour créer des images à la volée qui peuvent être utilisées sur des pages Web. Il vous permet de créer une image par programmation, de la colorier, de dessiner dessus et de l'enregistrer sur disque en toute simplicité.

Générer et modifier les images via C API

    gdImagePtr im;
    int black, white;
    FILE *out;
    // Create the image
    im = gdImageCreate(100, 100);
    // Allocate background
    white = gdImageColorAllocate(im, 255, 255, 255);
    // Allocate drawing color
    black = gdImageColorAllocate(im, 0, 0, 0);
    // Draw rectangle
    gdImageRectangle(im, 0, 0, 99, 99, black);
    // Open output file in binary mode
    out = fopen("rect.jpg", "wb");
    // Write JPEG using default quality
    gdImageJpeg(im, out, -1);
    // Close file
    fclose(out);
    // Destroy image
    gdImageDestroy(im);
    

Redimensionnement d'image via la bibliothèque C

La bibliothèque open source LibGD permet aux programmeurs informatiques de redimensionner leurs images à la volée à l'aide de commandes C dans leurs applications. Pour commencer, vous devez fournir le chemin complet et le nom de l'image à charger. Une fois cela fait, vous devez fournir la largeur et la hauteur de votre nouvelle image et l'emplacement de sortie de votre choix où vous souhaitez l'enregistrer. Veuillez vous assurer que toutes les informations fournies sont correctes, à part que la bibliothèque ne les accepte pas et lève une exception.

Rétablir l'image via C API

    int main (int argc, char *argv[]) {
	FILE *fp;
	gdImagePtr in, out;
	int w, h;
	/* Help */
	if (argc<=4) {
		printf("%s  input.jpg  output.jpg  width  height\n", argv[0]);
		return 1;
	}
	/* Size */
	w = atoi(argv[3]);
	h = atoi(argv[4]);
	if (w<=0 || h<=0) {
		fprintf(stderr, "Bad size %dx%d\n", h, w);
		return 2;
	}
	/* Input */
	fp = fopen(argv[1], "rb");
	if (!fp) {
		fprintf(stderr, "Can't read image %s\n", argv[1]);
		return 3;
	}
	in = gdImageCreateFromJpeg(fp);
	fclose(fp);
	if (!in) {
		fprintf(stderr, "Can't create image from %s\n", argv[1]);
		return 4;
	}
	/* Resize */
	gdImageSetInterpolationMethod(in, GD_BILINEAR_FIXED);
	out = gdImageScale(in, w, h);
	if (!out) {
		fprintf(stderr, "gdImageScale fails\n");
		return 5;
	}
	/* Output */
	fp = fopen(argv[2], "wb");
	if (!fp) {
		fprintf(stderr, "Can't save image %s\n", argv[2]);
		return 6;
	}
	gdImageJpeg(out, fp, 90);
	fclose(fp);
	/* Cleanups */
	gdImageDestroy(in);
	gdImageDestroy(out);
	return 0;
}
    

Images de cultures, de feuilles, de plaquettes ou de rotatifs via C API

La LibGD bibliothèque a fourni un soutien complet aux images de culture et de coupe programmatiques à l'aide de commandements C. La bibliothèque a fourni de multiples fonctions pour l'abattage de l'image, comme le repli de l'image horizontalement ou verticalement, ainsi que les deux. Vous pouvez aussi facilement le faire en fonction de vos besoins. Une fois fait, vous pouvez sauvegarder les images avec facilité. Il appuie également la conversion des images NG et JPEG à d'autres formats de fichiers appuyés.

Convertir l'image NG à AIF via C API

   int main(int argc, char **argv)
{
	gdImagePtr im;
	FILE *in, *out;
	if (argc != 3) {
		fprintf(stderr, "Usage: png2avif infile.png outfile.avif\n");
		exit(1);
	}
	printf("Reading infile %s\n", argv[1]);
	in = fopen(argv[1], "rb");
	if (!in) {
		fprintf(stderr, "Error: input file %s does not exist.\n", argv[1]);
		exit(1);
	}
	im = gdImageCreateFromPng(in);
	fclose(in);
	if (!im) {
		fprintf(stderr, "Error: input file %s is not in PNG format.\n", argv[1]);
		exit(1);
	}
	out = fopen(argv[2], "wb");
	if (!out) {
		fprintf(stderr, "Error: can't write to output file %s\n", argv[2]);
		gdImageDestroy(im);
		exit(1);
	}
	fprintf(stderr, "Encoding...\n");
	gdImageAvifEx(im, out, 100, 0);
	printf("Wrote outfile %s.\n", argv[2]);
	fclose(out);
	gdImageDestroy(im);
	return 0;
}

Chargement d'image à partir du tampon en mémoire

La bibliothèque open source LibGD permet aux développeurs de logiciels de charger une image entière à mettre en mémoire tampon dans leurs propres applications C. Une fois l'image chargée, les développeurs peuvent facilement effectuer différentes opérations sur l'image, telles que la lecture de l'image à partir du tampon, la modification de l'image, l'enregistrement de l'image à un emplacement particulier, etc. Une fois cela fait, n'oubliez pas de libérer le tampon avec les fonctions normales de gestion de la mémoire.

 Français