1. Termékek
  2.   Kép
  3.   ImageMagick

ImageMagick

 
 

Nyílt forráskódú C Library képek létrehozásához és konvertálásához

Hozzon létre, szerkesszen, írjon, olvasson és konvertáljon Bitmap képeket az ingyenes C API segítségével. Lehetővé teszi a képek átméretezését, átfordítását, tükrözését, elforgatását, torzítását, nyírását és átalakítását a C alkalmazásokon belül.

Az ImageMagick egy nyílt forráskódú könyvtár, amely lehetővé teszi a szoftverfejlesztők számára, hogy képfeldolgozó képességeket építsenek be saját C-alkalmazásaikba. A könyvtár többplatformos, és zökkenőmentesen fut Linux, Windows, Mac Os X, iOS, Android OS és sok más operációs rendszeren. Támogatja a raszteres képek olvasását, megjelenítését, létrehozását, konvertálását, módosítását és módosítását C kóddal.

Az ImageMagick egyik nagyszerű tulajdonsága, hogy képes pontosan és professzionálisan konvertálni a képeket a különböző vezető fájlformátumok között. A könyvtár több mint 200 képfájl-formátum támogatását tartalmazza, például JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG és még sok más. A könyvtár támogatást nyújtott a rajzoláshoz, valamint a grafikákhoz és az animált grafikákhoz is.

A könyvtár nagyon gazdag funkciókban, és támogatja néhány általános képfeldolgozási funkciót, mint például a kép átméretezése és tükrözése, képtükrözés és -forgatás, torzítás, képek átalakítása, képszínek beállítása, különféle speciális effektusok alkalmazása, elmosódás vagy élesítés vagy küszöbérték, képátmenetek , a finom élérzékelés szöveget, vonalakat, sokszögeket, ellipsziseket rajzol, matematikai kifejezések és még sok más segítségével. A közelmúltban a könyvtár támogatja a képekből szöveg OCR segítségével történő kinyerését is.

Previous Next

Az ImageMagick első lépései

Klónozza a legújabb forrásokat a következő paranccsal

Telepítse az ImageMagick-et a GitHubon keresztül.

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

Vagy használja a következő parancsot a telepítéshez.

Telepítse az ImageMagicket RPM-en keresztül.

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

Kép konvertálása más formátumba

A nyílt forráskódú C könyvtár ImageMagick lehetővé teszi a szoftverprogramozók számára, hogy a képeket más támogatott fájlformátumokká alakítsák át saját alkalmazásaikban. A felhasználóknak meg kell adniuk a formátum paramétert, mielőtt más formátumba konvertálnának. A könyvtár belsőleg átalakítja a képet más formátumokba korábban, az átalakítások alkalmazása előtt. A könyvtár számos népszerű képformátumra támogatja a konvertálást, mint például a BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF és XPM formátumok. A könyvtár egyik nagyszerű aspektusa a könnyű használat a kép konvertálása közben. Lehetővé teszi a kép méretének csökkentését és különböző effektusok alkalmazását, mielőtt a kívánt formátumba írná.

GIF konvertálása JPEG képpé az ImageMagick segítségével


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

Képszínátmenetek támogatása C API használatával

A nyílt forráskódú ImageMagick C-könyvtár lehetővé teszi a szoftverfejlesztők számára, hogy több színből álló képátmeneteket hozzanak létre C-parancsok segítségével. Könnyedén létrehozhat egy vagy több szín fokozatos keverését vízszintes, függőleges, kör- vagy ellipszis alakú formák használatával. A könyvtár számos olyan definíció használatával javította a színátmeneteket, mint például a lineáris gradiens irányának meghatározása, a sugárirányú gradiens középpontjának koordinátáinak azonosítása, a gradiens korlátozása a kép méreteinél nagyobb vagy kisebb területre, stb. tovább. Ezenkívül a nem lineáris szürkeárnyalatos színátmenetekhez a kimenet mentése előtt adja hozzá a -colorspace RGB -colorspace gray elemet.

Hozzon létre egy egyszerű szürkeárnyalatos színátmenetet a C API-n keresztül


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

Alkalmazzon speciális effektusokat a képekre a C segítségével

Az ImageMagick nyílt forráskódú C-könyvtár különféle típusú effektusok alkalmazását teszi lehetővé a képeken. Számos fontos funkcióval rendelkezik, mint például az elmosódás, élesítés, küszöbérték, árnyékok létrehozása, alakzatok kifestése vagy a kép színezése néhány soros C kód használatával. Vannak olyan speciális elmosódási effektusok is, mint a rádiós elmosódás és a mozgásos elmosódás.

Alkalmazza a csempézett betűtípus effektust a C API-n keresztül

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

Nagy képek támogatása

Az ImageMagick C könyvtár támogatást nyújtott a nagyon nagy képekkel való munkavégzéshez. Lehetővé teszi a fejlesztők számára, hogy mega-, giga- vagy terapixel méretű képeket nyissanak meg, olvassanak, dolgozzanak fel vagy írjanak saját képfeldolgozó alkalmazásaikon belül. A könyvtár lehetővé teszi a kép átméretezését negyedmillió pixel négyzetre. Ha nagyméretű képekkel dolgozik, gondoskodnia kell a nagy memóriaerőforrások rendelkezésre állásáról. Ha az alapértelmezett ideiglenes lemezpartíció kicsi, akkor utasítsa az ImageMagick-et egy másik, elegendő szabad hellyel rendelkező partíció használatára.

 Magyar