![](https://products-qa.fileformat.com/hi/image/c/libgd/header-image.png)
LibGD
उन्नत छवि प्रसंस्करण के लिए ओपन सोर्स सी लाइब्रेरी
मुफ़्त C API जो डेवलपर्स को जल्दी से चित्र बनाने, रेखाएँ, आर्क, टेक्स्ट, कई रंग जोड़ने और परिणाम को PNG या JPEG फ़ाइल के रूप में लिखने में सक्षम बनाता है।
डिजिटल छवियां हमेशा साधारण पाठ की तुलना में अधिक आगंतुकों को आकर्षित करती हैं। एक तस्वीर एक हजार शब्दों के बराबर होती है। उनके पास 94% अधिक व्यूज आकर्षित करने और अधिक विजिटर्स को आकर्षित करने की शक्ति है। छवियों का उपयोग करके अपने संदेशों को वितरित करना हमेशा अधिक उपयोगी और सुविधाजनक होता है। ओपन सोर्स लाइब्रेरी LibGD प्रोग्रामर्स को जल्दी से चित्र बनाने, लाइनें जोड़ने, आर्क्स, टेक्स्ट, कई रंग जोड़ने और परिणाम को PNG या JPEG फ़ाइल के रूप में लिखने में सक्षम बनाता है।
लिबजीडी एक शक्तिशाली ग्राफिक्स लाइब्रेरी है जो सॉफ्टवेयर डेवलपर्स को उनके सी अनुप्रयोगों के अंदर छवियों को गतिशील रूप से उत्पन्न और प्रबंधित करने में मदद करती है। पुस्तकालय कई अलग-अलग छवि प्रारूपों जैसे बीएमपी, जीआईएफ, टीजीए, डब्ल्यूबीएमपी, जेपीईजी, पीएनजी, टीआईएफएफ, वेबपी, एक्सपीएम, और बहुत कुछ पढ़ और लिख सकता है। लाइब्रेरी LibGD का उपयोग आमतौर पर वेबसाइट के विकास के लिए किया जाता है, लेकिन इसका उपयोग किसी भी स्टैंडअलोन एप्लिकेशन के साथ भी किया जा सकता है। पुस्तकालय में छवि निर्माण और हेरफेर के लिए कई महत्वपूर्ण विशेषताएं शामिल हैं जैसे कि चार्ट, ग्राफिक्स, थंबनेल, और सबसे अधिक कुछ भी, मक्खी पर।
LibGD के साथ शुरुआत करना
लिबजीडी को स्थापित करने का अनुशंसित तरीका सीएमके का उपयोग कर रहा है। सुचारू स्थापना के लिए कृपया निम्न आदेश का उपयोग करें
GitHub के माध्यम से LibGD स्थापित करें।
$ make install
निम्नलिखित कमांड का उपयोग करके नवीनतम स्रोतों को क्लोन करें
GitHub के माध्यम से LibGD स्थापित करें।
$ git https://github.com/libgd/libgd.git
C . के माध्यम से छवियाँ बनाएँ और संशोधित करें
LibGD पुस्तकालय आसानी से छवियों को बनाने और उनमें हेरफेर करने की क्षमता प्रदान करता है। यह बीएमपी, जीआईएफ, टीजीए, डब्ल्यूबीएमपी, जेपीईजी, पीएनजी, टीआईएफएफ, वेबपी, एक्सपीएम फ़ाइल स्वरूपों में सी कोड की कुछ पंक्तियों के साथ छवियों के निर्माण का उपयोग करने की अनुमति देता है। पुस्तकालय की एक बड़ी विशेषता यह है कि यह आपको तुरंत चित्र बनाने की सुविधा देता है। पुस्तकालय को वेब पेजों पर उपयोग की जा सकने वाली छवियों को बनाने के लिए जाना जाता है। यह आपको प्रोग्रामेटिक रूप से एक छवि बनाने, उसे रंगने, उस पर आकर्षित करने और उसे आसानी से डिस्क पर सहेजने में सक्षम बनाता है।
सी एपीआई के माध्यम से छवियां बनाएं और संशोधित करें
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);
सी लाइब्रेरी के माध्यम से छवि का आकार बदलना
ओपन सोर्स LibGD लाइब्रेरी कंप्यूटर प्रोग्रामर को अपने एप्लिकेशन के अंदर C कमांड का उपयोग करके मक्खी पर अपनी छवियों का आकार बदलने में सक्षम बनाती है। शुरू करने के लिए आपको लोड करने के लिए छवि का पूरा पथ और नाम प्रदान करना होगा। एक बार यह हो जाने के बाद आपको अपनी नई छवि की चौड़ाई और ऊंचाई और अपनी पसंद का आउटपुट स्थान प्रदान करना होगा जहां आप इसे सहेजना चाहते हैं। कृपया सुनिश्चित करें कि प्रदान की गई सभी जानकारी सही है, इसके अलावा पुस्तकालय इसे स्वीकार नहीं कर रहा है और अपवाद फेंक रहा है।
सी एपीआई के माध्यम से छवि का आकार बदलें
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;
}
सी एपीआई के माध्यम से छवियों को क्रॉप, फ्लिप, कन्वर्ट या रोटेट करें
LibGD लाइब्रेरी ने C कमांड का उपयोग करके प्रोग्रामेटिक रूप से क्रॉपिंग और फ़्लिपिंग छवियों के लिए पूर्ण समर्थन प्रदान किया है। पुस्तकालय ने छवि को फ़्लिप करने के लिए कई कार्य प्रदान किए हैं, जैसे छवि को क्षैतिज या लंबवत रूप से फ़्लिप करना और साथ ही दोनों। फ्लिपिंग की तरह ही आप इसे अपनी जरूरत के हिसाब से आसानी से घुमा भी सकते हैं। एक बार हो जाने के बाद आप छवियों को आसानी से सहेज सकते हैं। यह पीएनजी और जेपीईजी छवियों को अन्य समर्थित फ़ाइल स्वरूपों में परिवर्तित करने के लिए भी सहायता प्रदान करता है।
सी एपीआई के माध्यम से पीएनजी छवि को एवीआईएफ में कनवर्ट करें
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;
}
मेमोरी में बफर से इमेज लोड हो रहा है
ओपन सोर्स लाइब्रेरी लिबजीडी सॉफ्टवेयर डेवलपर्स को अपने स्वयं के सी अनुप्रयोगों के अंदर मेमोरी में बफर करने के लिए पूरी छवि लोड करने की अनुमति देता है। एक बार छवि लोड हो जाने के बाद, डेवलपर्स आसानी से छवि पर विभिन्न संचालन कर सकते हैं, जैसे कि बफर से छवि को पढ़ना, छवि को संशोधित करना, छवि को किसी विशेष स्थान पर सहेजना, और इसी तरह। एक बार हो जाने के बाद कृपया सामान्य मेमोरी प्रबंधन कार्यों के साथ बफर को मुक्त करना याद रखें।