1. Produk
  2.   Imej
  3.   ImageMagick

ImageMagick

 
 

Perpustakaan C Sumber Terbuka untuk Mencipta & Menukar Imej

Buat, edit, karang, baca dan tukar imej Bitmap menggunakan C  API percuma. Ia membolehkan untuk mengubah saiz, membalikkan, mencerminkan, memutar, memesongkan, menggunting dan mengubah imej dalam apl C.

ImageMagick ialah perpustakaan sumber terbuka yang memberikan pembangun perisian kuasa untuk memasukkan keupayaan pemprosesan imej di dalam aplikasi C mereka sendiri. Pustaka adalah platform merentas dan boleh berjalan dengan lancar pada Linux, Windows, Mac Os X, iOS, Android OS dan banyak lagi. Ia telah menyertakan sokongan untuk membaca, memaparkan, mencipta, menukar, mengubah suai dan mengubah suai imej raster menggunakan kod C.

Satu ciri hebat ImageMagick ialah keupayaannya untuk menukar imej secara tepat dan profesional antara format fail terkemuka yang berbeza. Perpustakaan ini telah menyertakan sokongan untuk lebih 200 format fail imej seperti JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG dan banyak lagi. Perpustakaan juga telah menyediakan sokongan untuk lukisan serta grafik dan grafik animasi dengan mudah.

Perpustakaan ini sangat kaya dengan ciri dan telah menyertakan sokongan untuk beberapa ciri pemprosesan imej biasa seperti saiz semula dan selak imej, pencerminan dan pemutaran imej, herotan, mengubah imej, pelarasan warna imej, menggunakan pelbagai kesan khas kabur atau mengasah atau ambang, kecerunan imej , teks lukisan pengesanan tepi cerdik, garisan, poligon, elips, menggunakan ungkapan matematik dan banyak lagi. Baru-baru ini perpustakaan juga telah menyertakan sokongan untuk mengekstrak teks daripada imej menggunakan OCR.

Previous Next

Bermula dengan ImageMagick

Klon sumber terkini dengan menggunakan arahan berikut

Pasang ImageMagick melalui GitHub.

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

Atau gunakan arahan berikut untuk memasangnya.

Pasang ImageMagick melalui RPM.

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

Tukar Imej kepada Format Lain

Pustaka C sumber terbuka ImageMagick membolehkan pengaturcara perisian menukar imej kepada format fail lain yang disokong dalam apl mereka sendiri. Pengguna perlu menyediakan parameter format sebelum menukar kepada format lain. Perpustakaan secara dalaman menukar imej kepada format lain lebih awal, sebelum menggunakan transformasi. Perpustakaan menyokong penukaran kepada beberapa format imej popular seperti format BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF dan XPM. Satu aspek hebat perpustakaan ialah kemudahan penggunaan semasa menukar imej. Ia juga menyediakan keupayaan untuk mengurangkan saiz imej dan menggunakan kesan yang berbeza sebelum menulisnya dalam format yang dikehendaki.

Tukar GIF kepada Imej JPEG melalui 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; 
}

Sokongan Kecerunan Imej menggunakan C API

Pustaka C sumber terbuka ImageMagick membolehkan pembangun perisian mencipta kecerunan imej berbilang warna menggunakan arahan C. Anda boleh membuat gabungan beransur-ansur satu atau berbilang warna dengan mudah menggunakan bentuk mendatar, menegak, bulat atau elips. Perpustakaan telah meningkatkan kecerunan melalui penggunaan beberapa -takrif seperti menentukan arah kecerunan linear, Mengenal pasti koordinat titik tengah untuk kecerunan jejarian, Mengehadkan kecerunan kepada kawasan yang lebih besar atau lebih kecil daripada dimensi imej, dan sebagainya. pada. Selain itu, untuk kecerunan skala kelabu bukan linear, sila tambah -ruang warna RGB -kelabu ruang warna sebelum menyimpan output.

Buat Kecerunan Skala Kelabu Mudah melalui 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();
}

Gunakan Kesan Khas pada Imej melalui C

Pustaka C sumber terbuka ImageMagick telah menyediakan kefungsian untuk menggunakan pelbagai jenis kesan pada imej. Ia telah menyediakan beberapa fungsi penting seperti mengaburkan, mengasah, ambang, mencipta bayang-bayang, bentuk bulu atau mewarnakan imej menggunakan beberapa baris kod C. Terdapat beberapa kesan kabur khas seperti kabur radio dan kabur gerakan juga disokong.

Gunakan Kesan Fon Berjubin melalui 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");

Sokongan Imej Besar

Pustaka C ImageMagick telah menyediakan sokongan untuk bekerja dengan imej yang sangat besar. Ia membolehkan pembangun membuka, membaca, memproses atau menulis imej sehingga saiz Mega-, Giga-, atau Tera-piksel dalam aplikasi pemprosesan imej mereka sendiri. Pustaka membenarkan saiz semula imej kepada suku juta piksel persegi. Semasa bekerja dengan imej yang besar, anda perlu memastikan ketersediaan sumber memori yang besar. Jika partition cakera sementara lalai adalah kecil maka bimbing ImageMagick untuk menggunakan partition lain dengan jumlah ruang kosong yang mencukupi.

 Melayu