![](https://products-qa.fileformat.com/de/image/c/libgd/header-image.png)
LibGD
Open-Source-C-Bibliothek für erweiterte Bildverarbeitung
Kostenlose C-API, mit der Entwickler schnell Bilder zeichnen, Linien, Bögen, Text und mehrere Farben hinzufügen und das Ergebnis als PNG- oder JPEG-Datei ausgeben können.
Digitale Bilder ziehen immer mehr Besucher an als einfacher Text. Ein Bild sagt mehr als tausend Worte. Sie können 94 % mehr Aufrufe anziehen und mehr Besucher ansprechen. Es ist immer fruchtbarer und bequemer, Ihre Botschaften mit Bildern zu übermitteln. Mit der Open-Source-Bibliothek LibGD können Programmierer schnell Bilder zeichnen, Linien, Bögen, Text und mehrere Farben hinzufügen und das Ergebnis als PNG- oder JPEG-Datei ausgeben.
LibGD ist eine leistungsstarke Grafikbibliothek, die Softwareentwicklern hilft, Bilder in ihren C-Anwendungen dynamisch zu generieren und zu verwalten. Die Bibliothek kann viele verschiedene Bildformate wie BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM und vieles mehr lesen und schreiben. Die Bibliothek LibGD wird häufig für die Entwicklung von Websites verwendet, kann aber auch mit jeder eigenständigen Anwendung verwendet werden. Die Bibliothek enthält mehrere wichtige Funktionen für die Bilderstellung und -bearbeitung, z. B. das Generieren von Diagrammen, Grafiken, Miniaturansichten und fast allem anderen im Handumdrehen.
Erste Schritte mit LibGD
Die empfohlene Methode zur Installation von LibGD ist die Verwendung von CMake. Bitte verwenden Sie den folgenden Befehl für reibungslose Installationen
Installieren Sie LibGD über GitHub.
$ make install
Klonen Sie die neuesten Quellen mit dem folgenden Befehl
Installieren Sie LibGD über GitHub.
$ git https://github.com/libgd/libgd.git
Generieren und ändern Sie Bilder über C
Die LibGD-Bibliothek bietet die Möglichkeit, Bilder einfach zu erstellen und zu manipulieren. Es ermöglicht die Erstellung von Bildern in den Dateiformaten BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM mit nur wenigen Zeilen C-Code. Eine großartige Funktion der Bibliothek ist, dass Sie Bilder im Handumdrehen erstellen können. Die Bibliothek ist dafür bekannt, Bilder im Handumdrehen zu erstellen, die auf Webseiten verwendet werden können. Es ermöglicht Ihnen, ein Bild programmgesteuert zu erstellen, es einzufärben, darauf zu zeichnen und es mit Leichtigkeit auf der Festplatte zu speichern.
Bilder über C API erzeugen und verändern
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);
Bildgrößenänderung über die C-Bibliothek
Die Open-Source-LibGD-Bibliothek ermöglicht es Computerprogrammierern, die Größe ihrer Bilder im Handumdrehen mithilfe von C-Befehlen in ihren Anwendungen zu ändern. Zu Beginn müssen Sie den vollständigen Pfad und Namen des zu ladenden Bildes angeben. Sobald dies erledigt ist, müssen Sie die Breite und Höhe Ihres neuen Bildes und den Ausgabeort Ihrer Wahl angeben, an dem Sie es speichern möchten. Bitte stellen Sie sicher, dass alle bereitgestellten Informationen korrekt sind, außer dass die Bibliothek sie nicht akzeptiert und eine Ausnahme auslöst.
Größe des Bildes ändern (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;
}
Bilder über C API
Die LibGD Bibliothek hat vollständige Unterstützung für grammatisch abschneidende und abschneidende Bilder unter Verwendung von C-Befehlen bereitgestellt. Die Bibliothek hat mehrere Funktionen zum Umdrehen des Bildes zur Verfügung gestellt, wie zum Beispiel das horizontale oder vertikale Umdrehen des Bildes sowie beides. Wie ein Flipping können Sie es auch einfach nach Ihren eigenen Bedürfnissen drehen. Sobald dies erledigt ist, können Sie die Bilder mit Leichtigkeit speichern. Es unterstützt auch die Konvertierung von NG- und JPEG-Bildern in andere unterstützte Dateiformate.
Konvertierung NG Image in 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;
}
Laden von Bildern aus dem Puffer im Speicher
Die Open-Source-Bibliothek LibGD ermöglicht es Softwareentwicklern, ein ganzes Bild in den Zwischenspeicher ihrer eigenen C-Anwendungen zu laden. Sobald das Bild geladen ist, können Entwickler problemlos verschiedene Operationen mit dem Bild ausführen, wie z. B. das Lesen des Bilds aus dem Puffer, das Ändern des Bilds, das Speichern des Bilds an einem bestimmten Ort und so weiter. Wenn Sie fertig sind, denken Sie bitte daran, den Puffer mit normalen Speicherverwaltungsfunktionen freizugeben.