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

ImageMagick

 
 

Görüntü Oluşturmak ve Dönüştürmek için Açık Kaynak C Kitaplığı

Ücretsiz C  API kullanarak Bitmap görüntüleri oluşturun, düzenleyin, oluşturun, okuyun ve dönüştürün. C uygulamalarında görüntüleri yeniden boyutlandırmaya, çevirmeye, yansıtmaya, döndürmeye, deforme etmeye, kesmeye ve dönüştürmeye olanak tanır.

ImageMagick, yazılım geliştiricilere kendi C uygulamalarına görüntü işleme yeteneklerini dahil etme gücü veren açık kaynaklı bir kitaplıktır. Kitaplık çapraz platformdur ve Linux, Windows, Mac Os X, iOS, Android OS ve diğer birçok işletim sistemi üzerinde sorunsuz bir şekilde çalışabilir. C kodunu kullanarak tarama görüntülerini okuma, görüntüleme, oluşturma, dönüştürme, değiştirme ve değiştirme desteği içerir.

ImageMagick'in harika bir özelliği, görüntüleri farklı önde gelen dosya formatları arasında doğru ve profesyonel bir şekilde dönüştürme yeteneğidir. Kütüphane, JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG ve çok daha fazlası gibi 200'den fazla görüntü dosyası formatı için destek içermektedir. Kitaplık ayrıca çizim, grafik ve animasyonlu grafikler için kolaylıkla destek sağlamıştır.

Kitaplık çok zengin özelliklere sahiptir ve görüntüyü yeniden boyutlandırma ve çevirme, görüntü yansıtma ve döndürme, deforme etme, görüntüleri dönüştürme, görüntü renk ayarı, çeşitli özel efektler uygulama, bulanıklaştırma veya keskinleştirme veya eşik, görüntü gradyanları gibi bazı yaygın görüntü işleme özellikleri için destek içerir. , keskin kenar algılama, matematiksel ifadeleri kullanarak metin, çizgi, çokgen, elips çizin ve çok daha fazlasını yapın. Son zamanlarda kitaplık, OCR kullanarak görüntülerden metin çıkarma desteği de içeriyor.

Previous Next

ImageMagick'e Başlarken

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

GitHub aracılığıyla ImageMagick'i yükleyin.

 git clone https://github.com/ImageMagick/ImageMagick.git 

Veya yüklemek için aşağıdaki komutu kullanın.

ImageMagick'i RPM ile yükleyin.

$ rpm -Uvh ImageMagick-libs-7.0.10-60.x86_64.rpm 

Resmi Diğer Biçimlere Dönüştür

Açık kaynak C kitaplığı ImageMagick, yazılım programcılarının görüntüleri kendi uygulamaları içinde desteklenen diğer dosya biçimlerine dönüştürmelerini sağlar. Kullanıcıların başka bir biçime dönüştürmeden önce biçim parametresini sağlamaları gerekir. Kitaplık, dönüştürmeleri uygulamadan önce görüntüyü dahili olarak diğer biçimlere dönüştürür. Kitaplık, BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF ve XPM formatları gibi birçok popüler görüntü formatına dönüştürmeyi destekler. Kütüphanenin harika bir yönü, görüntüyü dönüştürürken kullanım kolaylığıdır. Ayrıca istenilen formatta yazmadan önce görselin boyutunu küçültme ve farklı efektler uygulama imkanı sağlar.

GIF to JPEG Resim ImageMagick


#include  
using namespace std; 
using namespace Magick; 
int main(int argc,char **argv) 
{ 
  InitializeMagick(*argv);
  // Read GIF file from disk 
  Image image( "giraffe.gif" );
  // Write to BLOB in JPEG format 
  Blob blob; 
  image.magick( "JPEG" ) // Set JPEG output format 
  image.write( &blob );
  [ Use BLOB data (in JPEG format) here ]
  return 0; 
}

C API kullanarak Görüntü Gradyanları Desteği

Açık kaynaklı C kitaplığı ImageMagick, yazılım geliştiricilerin C komutlarını kullanarak birden çok renkte görüntü gradyanları oluşturmasını sağlar. Yatay, dikey, dairesel veya eliptik şekiller kullanarak bir veya birden çok rengin kademeli bir karışımını kolayca oluşturabilirsiniz. Kitaplık, doğrusal degradenin yönünü belirleme, Radyal degrade için merkez noktasının koordinatlarını belirleme, degradeyi görüntü boyutlarından daha büyük veya daha küçük bir bölgeyle sınırlama ve benzeri gibi birkaç tanım kullanarak degradeleri geliştirdi. üzerinde. Ayrıca, doğrusal olmayan gri tonlamalı degradeler için, çıktıyı kaydetmeden önce lütfen -colorspace RGB -colorspace grey ekleyin.

Basit bir Grayscale Gradient C API


void test_wand(LPTSTR lpCmdLine)
{
	MagickWand *m_wand = NULL;
	PixelWand *p_wand = NULL;
	PixelIterator *iterator = NULL;
	PixelWand **pixels = NULL;
	int x,y,gray;
	char hex[128];
	MagickWandGenesis();
	p_wand = NewPixelWand();
	PixelSetColor(p_wand,"white");
	m_wand = NewMagickWand();
	// Create a 100x100 image with a default of white
	MagickNewImage(m_wand,100,100,p_wand);
	// Get a new pixel iterator 
	iterator=NewPixelIterator(m_wand);
	for(y=0;y<100;y++) {
		// Get the next row of the image as an array of PixelWands
		pixels=PixelGetNextIteratorRow(iterator,&x);
		// Set the row of wands to a simple gray scale gradient
		for(x=0;x<100;x++) {
			gray = x*255/100;
			sprintf(hex,"#%02x%02x%02x",gray,gray,gray);
			PixelSetColor(pixels[x],hex);
		}
		// Sync writes the pixels back to the m_wand
		PixelSyncIterator(iterator);
	}
	MagickWriteImage(m_wand,"bits_demo.gif");
	// Clean up
	iterator=DestroyPixelIterator(iterator);
	DestroyMagickWand(m_wand);
	MagickWandTerminus();
}

C ile Görüntülere Özel Efektler Uygulayın

Açık kaynak C kitaplığı ImageMagick, görüntülere farklı efekt türleri uygulamak için işlevsellik sağlamıştır. Bulanıklaştırma, keskinleştirme, eşik oluşturma, gölgeler oluşturma, şekilleri geçiş yumuşatma veya birkaç satır C kodu kullanarak bir görüntüyü renklendirme gibi birçok önemli işlev sağlamıştır. Radyo bulanıklığı ve hareket bulanıklığı gibi bazı özel bulanıklaştırma efektleri de desteklenmektedir.

Filed Font Etkisi via C API

magick_wand = NewMagickWand();
	d_wand = NewDrawingWand();
	p_wand = NewPixelWand();
	set_tile_pattern(d_wand,"#check","pattern:checkerboard");
	PixelSetColor(p_wand,"lightblue");
	// Create a new transparent image
	MagickNewImage(magick_wand,320,100,p_wand);
	// Set up a 72 point font 
	DrawSetFont (d_wand, "Verdana-Bold-Italic" ) ;
	DrawSetFontSize(d_wand,72);
	// Now draw the text
	DrawAnnotation(d_wand,28,68,"Magick");
	// Draw the image on to the magick_wand
	MagickDrawImage(magick_wand,d_wand);
	// Trim the image
	MagickTrimImage(magick_wand,0);
	// Add a transparent border
	PixelSetColor(p_wand,"lightblue");
	MagickBorderImage(magick_wand,p_wand,5,5);
	// and write it
	MagickWriteImage(magick_wand,"text_pattern.png");

Büyük Resim Desteği

C kütüphanesi ImageMagick, çok büyük resimlerle çalışmak için destek sağlamıştır. Geliştiricilerin Mega-, Giga- veya Tera-piksel boyutlarına kadar olan görüntüleri kendi görüntü işleme uygulamalarında açmasına, okumasına, işlemesine veya yazmasına olanak tanır. Kitaplık, bir görüntüyü çeyrek milyon piksel kareye yeniden boyutlandırmaya izin verir. Büyük görüntülerle çalışırken, büyük bellek kaynaklarının kullanılabilir olduğundan emin olmanız gerekir. Varsayılan geçici disk bölümü küçükse, ImageMagick'i yeterli miktarda boş alana sahip başka bir bölüm kullanması için yönlendirin.

 Türkçe