1. Tuotteet
  2.   Kuva
  3.   LibGD

LibGD

 
 

Avoimen lähdekoodin C-kirjasto edistyneeseen kuvankäsittelyyn

Ilmainen C API, jonka avulla kehittäjät voivat piirtää nopeasti kuvia, lisätä viivoja, kaaria, tekstiä, useita värejä ja kirjoittaa tuloksen PNG- tai JPEG-tiedostona.

Digikuvat houkuttelevat aina enemmän kävijöitä kuin pelkkä teksti. Kuva kertoo enemmän kuin tuhat sanaa. Heillä on valta houkutella 94 % enemmän katselukertoja ja houkutella enemmän kävijöitä. On aina hedelmällisempää ja kätevämpää välittää viestisi kuvien avulla. Avoimen lähdekoodin LibGD-kirjaston avulla ohjelmoijat voivat nopeasti piirtää kuvia, lisätä viivoja, kaaria, tekstiä, useita värejä ja kirjoittaa tuloksen PNG- tai JPEG-tiedostona.

LibGD on tehokas grafiikkakirjasto, joka auttaa ohjelmistokehittäjiä luomaan ja hallitsemaan dynaamisesti kuvia C-sovellustensa sisällä. Kirjasto voi lukea ja kirjoittaa monia erilaisia kuvamuotoja, kuten BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM ja paljon muuta. LibGD-kirjastoa käytetään yleisesti verkkosivustojen kehittämiseen, mutta sitä voidaan käyttää myös minkä tahansa erillisen sovelluksen kanssa. Kirjastossa on useita tärkeitä ominaisuuksia kuvien luomiseen ja käsittelyyn, kuten kaavioiden, grafiikan, pikkukuvien ja useimpien muiden luominen lennossa.

Previous Next

LibGD:n käytön aloittaminen

Suositeltu tapa asentaa LibGD on CMake. Käytä seuraavaa komentoa sujuvaan asennukseen

Asenna LibGD GitHubin kautta.

$ make install 

Kloonaa uusimmat lähteet seuraavalla komennolla

Asenna LibGD GitHubin kautta.

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

Luo ja muokkaa kuvia C:n kautta

LibGD-kirjasto tarjoaa mahdollisuuden luoda ja käsitellä kuvia helposti. Se mahdollistaa kuvien luomisen BMP-, GIF-, TGA-, WBMP-, JPEG-, PNG-, TIFF-, WebP-, XPM-tiedostomuodoissa vain muutamalla rivillä C-koodia. Yksi kirjaston hieno ominaisuus on, että sen avulla voit luoda kuvia lennossa. Kirjasto tunnetaan lennossa kuvien luomisesta, joita voidaan käyttää web-sivuilla. Sen avulla voit luoda ohjelmallisesti kuvan, värittää sen, piirtää siihen ja tallentaa sen levylle helposti.

Luo ja muokkaa kuvia C API:n kautta

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

Kuvan koon muuttaminen C-kirjaston kautta

Avoimen lähdekoodin LibGD-kirjaston avulla tietokoneohjelmoijat voivat muuttaa kuviensa kokoa lennossa käyttämällä C-komentoja sovellusten sisällä. Aloittaaksesi sinun on annettava ladattavan kuvan täydellinen polku ja nimi. Kun se on tehty, sinun on annettava uuden kuvan leveys ja korkeus sekä valitsemasi tulostussijainti, johon haluat tallentaa sen. Varmista, että kaikki annetut tiedot ovat oikein, paitsi että kirjasto ei hyväksy niitä ja tekee poikkeuksen.

Muuta kuvan kokoa C API:n kautta

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

Rajaa, käännä, muunna tai kierrä kuvia C API:n kautta

LibGD-kirjasto on tarjonnut täydellisen tuen kuvien ohjelmalliseen rajaamiseen ja kääntämiseen C-komentojen avulla. Kirjastossa on useita toimintoja kuvan kääntämiseen, kuten kuvan kääntäminen vaaka- tai pystysuunnassa sekä molemmissa. Samoin kuin kääntämisen, voit myös helposti kääntää sitä omien tarpeidesi mukaan. Kun olet valmis, voit tallentaa kuvat helposti. Se tukee myös PNG- ja JPEG-kuvien muuntamista muihin tuettuihin tiedostomuotoihin.

Muunna PNG-kuva AVIF:ksi C API:n kautta

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

Kuvaa ladataan muistissa olevasta puskurista

Avoimen lähdekoodin kirjaston LibGD avulla ohjelmistokehittäjät voivat ladata koko kuvan puskuroidakseen muistiin omien C-sovellustensa sisällä. Kun kuva on ladattu, kehittäjät voivat helposti suorittaa kuvalle erilaisia toimintoja, kuten lukea kuvan puskurista, muokata kuvaa, tallentaa kuvan tiettyyn paikkaan ja niin edelleen. Kun olet valmis, muista vapauttaa puskuri tavallisilla muistinhallintatoiminnoilla.

 Suomen