1. produkty
  2.   obraz
  3.   ImageMagick

ImageMagick

 
 

Otevřete zdrojovou knihovnu C pro vytváření a převod obrázků

Vytvářejte, upravujte, sestavujte, čtěte a převádějte bitmapové obrázky pomocí bezplatného rozhraní C  API. Umožňuje měnit velikost, překlápět, zrcadlit, otáčet, deformovat, stříhat a transformovat obrázky v aplikacích C.

ImageMagick je knihovna s otevřeným zdrojovým kódem, která umožňuje vývojářům softwaru zahrnout možnosti zpracování obrazu do jejich vlastních aplikací v jazyce C. Knihovna je multiplatformní a může hladce běžet na systémech Linux, Windows, Mac Os X, iOS, Android OS a mnoha dalších. Zahrnuje podporu pro čtení, zobrazování, vytváření, konverzi, úpravu a úpravu rastrových obrázků pomocí kódu C.

Jednou ze skvělých vlastností ImageMagick je jeho schopnost přesně a profesionálně převádět obrázky mezi různými předními formáty souborů. Knihovna obsahuje podporu pro více než 200 formátů obrazových souborů, jako jsou JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG a mnoho dalších. Knihovna také poskytuje podporu pro kreslení, stejně jako grafiku a animovanou grafiku s lehkostí.

Knihovna je velmi bohatá na funkce a obsahuje podporu pro některé běžné funkce pro zpracování obrazu, jako je změna velikosti a převrácení obrazu, zrcadlení a otáčení obrazu, zkreslení, transformace obrazu, úprava barev obrazu, použití různých speciálních efektů, rozmazání nebo doostření nebo prahová hodnota, přechody obrazu , chytrá detekce hran kreslení textu, čar, polygonů, elips, pomocí matematických výrazů a mnoho dalších. Nedávno knihovna také zahrnuje podporu pro extrahování textu z obrázků pomocí OCR.

Previous Next

Začínáme s ImageMagick

Naklonujte nejnovější zdroje pomocí následujícího příkazu

Nainstalujte ImageMagick přes GitHub.

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

Nebo jej nainstalujte pomocí následujícího příkazu.

Nainstalujte ImageMagick pomocí RPM.

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

Převést obrázek do jiných formátů

Open source knihovna C ImageMagick umožňuje softwarovým programátorům převádět obrázky do jiných podporovaných formátů souborů v rámci jejich vlastních aplikací. Uživatelé musí před převodem na jiný formát zadat parametr format. Knihovna vnitřně převede obraz do jiných formátů dříve, než použije transformace. Knihovna podporuje konverzi do několika populárních obrazových formátů, jako jsou BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF a XPM. Jedním z velkých aspektů knihovny je snadné použití při převodu obrázku. Poskytuje také možnost zmenšit velikost obrázku a použít různé efekty před jeho napsáním v požadovaném formátu.

Převeďte GIF na obrázek JPEG pomocí 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; 
}

Podpora přechodů obrázků pomocí C API

Open source knihovna C ImageMagick umožňuje vývojářům softwaru vytvářet barevné přechody pomocí C příkazů. Můžete snadno vytvořit postupné prolnutí jedné nebo více barev pomocí vodorovných, svislých, kruhových nebo eliptických tvarů. Knihovna vylepšila přechody pomocí několika –definic, jako je určení směru lineárního přechodu, identifikace souřadnic středového bodu pro radiální přechod, omezení přechodu na větší nebo menší oblast, než jsou rozměry obrázku atd. na. Navíc pro nelineární přechody ve stupních šedi přidejte před uložením výstupu -colorspace RGB -colorspace grey.

Vytvořte jednoduchý přechod ve stupních šedi pomocí rozhraní 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();
}

Aplikujte na snímky speciální efekty pomocí C

Open source knihovna C ImageMagick poskytuje funkce pro aplikaci různých typů efektů na obrázky. Poskytuje několik důležitých funkcí, jako je rozmazání, doostření, prahová hodnota, vytváření stínů, prolnutí tvarů nebo tónování obrazu pomocí několika řádků kódu C. Podporovány jsou také některé speciální efekty rozostření, jako je rozostření rádia a rozostření pohybu.

Použijte efekt dlaždicového písma prostřednictvím rozhraní 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");

Podpora velkých obrázků

Knihovna C ImageMagick poskytuje podporu pro práci s velmi velkými obrázky. Umožňuje vývojářům otevírat, číst, zpracovávat nebo zapisovat obrázky až do velikosti Mega-, Giga- nebo Tera-pixelů v rámci jejich vlastních aplikací pro zpracování obrázků. Knihovna umožňuje změnit velikost obrázku na čtvrt milionu pixelů čtverečních. Při práci s velkými obrázky musíte zajistit dostupnost velkých paměťových prostředků. Pokud je výchozí dočasný diskový oddíl malý, naveďte ImageMagick, aby použil jiný oddíl s dostatečným množstvím volného místa.

 Čeština