1. Ürün:% s
  2.   resim
  3.   LibGD

LibGD

 
 

Gelişmiş Görüntü İşleme için Açık Kaynak C Kitaplığı

Geliştiricilerin hızla resim çizmesine, çizgiler, yaylar, metinler, birden çok renk eklemesine ve sonucu bir PNG veya JPEG dosyası olarak yazmasına olanak tanıyan ücretsiz C API.

Dijital görüntüler her zaman basit metinlerden daha fazla ziyaretçi çeker. Bir resim bin kelime değerinde bir olup. %94 daha fazla görüntüleme çekme ve daha fazla ziyaretçi çekme gücüne sahipler. Mesajlarınızı resim kullanarak iletmek her zaman daha verimli ve kullanışlıdır. Açık kaynak kitaplığı LibGD, programcıların hızlı bir şekilde resim çizmesine, çizgiler, yaylar, metinler, çoklu renkler eklemesine ve sonucu bir PNG veya JPEG dosyası olarak yazmasına olanak tanır.

LibGD, yazılım geliştiricilerin C uygulamalarında dinamik olarak görüntü oluşturmasına ve yönetmesine yardımcı olan güçlü bir grafik kitaplığıdır. Kitaplık, BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM ve çok daha fazlası gibi birçok farklı görüntü formatını okuyabilir ve yazabilir. LibGD kitaplığı, web sitesi geliştirme için yaygın olarak kullanılır, ancak herhangi bir bağımsız uygulama ile de kullanılabilir. Kitaplık, anında grafikler, grafikler, küçük resimler ve diğer birçok şey oluşturma gibi görüntü oluşturma ve işleme için birkaç önemli özellik içeriyor.

Previous Next

LibGD'ye Başlarken

LibGD'yi kurmanın önerilen yolu CMake kullanmaktır. Sorunsuz kurulumlar için lütfen aşağıdaki komutu kullanın

GitHub aracılığıyla LibGD'yi yükleyin.

$ make install 

Aşağıdaki komutu kullanarak en son kaynakları klonlayın

GitHub aracılığıyla LibGD'yi yükleyin.

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

Görüntüleri C ile Oluşturun ve Değiştirin

LibGD kitaplığı, görüntüleri kolaylıkla oluşturma ve işleme yeteneği sağlar. Sadece birkaç satır C kodu ile BMP, GIF, TGA, WBMP, JPEG, PNG, TIFF, WebP, XPM dosya formatlarında görüntülerin oluşturulmasını sağlar. Kitaplığın harika bir özelliği, anında görüntü oluşturmanıza izin vermesidir. Kitaplık, Web sayfalarında kullanılabilecek anında görüntüler oluşturmasıyla bilinir. Programlı olarak bir görüntü oluşturmanıza, renklendirmenize, üzerinde çizim yapmanıza ve kolaylıkla diske kaydetmenize olanak tanır.

Genrate & Modify 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);
    

C Kitaplığı ile Görüntü Yeniden Boyutlandırma

Açık kaynaklı LibGD kitaplığı, bilgisayar programcılarının, uygulamalarının içindeki C komutlarını kullanarak görüntülerini anında yeniden boyutlandırmalarını sağlar. Başlamak için, yükleme için görüntünün tam yolunu ve adını sağlamanız gerekir. Tamamlandığında, yeni görüntünüzün genişliğini ve yüksekliğini ve seçtiğiniz çıktı konumunu kaydetmek istediğiniz yeri sağlamanız gerekir. Lütfen kütüphanenin kabul etmemesi ve bir istisna oluşturması dışında sağlanan tüm bilgilerin doğru olduğundan emin olun.

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

Ek olarak, Flip, Convert veya Rotate Images C API

LibGD kütüphane, C komutlarını kullanarak programmatik olarak ekping ve video görüntüleri için tam destek sağlamıştır. Kütüphane, görüntüyü çevirmek için birden çok işlev sağladı, örneğin görüntüyü yatay veya dikey olarak da çevirmek gibi. Aynı şekilde, kendi ihtiyaçlarınıza göre kolayca döndürebilirsiniz. Bir kez yapıldığında görüntüleri rahatla kurtarabilirsiniz. Ayrıca NG ve JPEG görüntüleri diğer desteklenen dosya formatlarına dönüştürmek için destek sağlar.

C API ile AIF'e Ekle

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

Bellekteki Tampondan Görüntü Yükleme

Açık kaynak kitaplığı LibGD, yazılım geliştiricilerin kendi C uygulamalarının içindeki bellekte ara belleğe almak için tüm bir görüntüyü yüklemelerine olanak tanır. Görüntü yüklendikten sonra geliştiriciler, görüntüyü arabellekten okuma, görüntüyü değiştirme, görüntüyü belirli bir konuma kaydetme vb. gibi görüntü üzerinde farklı işlemleri kolayca gerçekleştirebilir. Tamamlandığında, lütfen arabelleği normal bellek yönetimi işlevleriyle boşaltmayı unutmayın.

 Türkçe