1. Produkti
  2.   Attēls
  3.   ImageMagick

ImageMagick

 
 

Atvērtā pirmkoda C bibliotēka attēlu izveidei un konvertēšanai

Izveidojiet, rediģējiet, veidojiet, lasiet un konvertējiet bitkartes attēlus, izmantojot bezmaksas C API. Tas ļauj mainīt izmērus, apvērst, spoguļot, pagriezt, izkropļot, nogriezt un pārveidot attēlus C lietotnēs.

ImageMagick ir atvērtā pirmkoda bibliotēka, kas programmatūras izstrādātājiem sniedz iespēju iekļaut attēlu apstrādes iespējas viņu pašu C lietojumprogrammās. Bibliotēka ir vairāku platformu, un tā var nevainojami darboties operētājsistēmās Linux, Windows, Mac Os X, iOS, Android OS un daudzās citās. Tajā ir iekļauts atbalsts rastra attēlu lasīšanai, parādīšanai, izveidei, konvertēšanai, modificēšanai un modificēšanai, izmantojot C kodu.

Viena no lieliskām ImageMagick iezīmēm ir tā spēja precīzi un profesionāli konvertēt attēlus starp dažādiem vadošajiem failu formātiem. Bibliotēkā ir iekļauts atbalsts vairāk nekā 200 attēlu failu formātiem, piemēram, JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG un daudziem citiem. Bibliotēka ir arī nodrošinājusi atbalstu zīmēšanai, kā arī grafikai un animētai grafikai.

Bibliotēka ir ļoti daudzfunkcionāla, un tajā ir iekļauts atbalsts dažām kopīgām attēlu apstrādes funkcijām, piemēram, attēla izmēru maiņai un apvēršanai, attēla spoguļošanai un pagriešanai, izkropļošanai, attēlu pārveidošanai, attēla krāsu pielāgošanai, dažādu specefektu izplūšanai vai asināšanai vai slieksnim, attēla gradientiem. , viltīga malu noteikšana zīmē tekstu, līnijas, daudzstūrus, elipses, izmantojot matemātisko izteiksmi un daudz ko citu. Nesen bibliotēkā ir iekļauts arī atbalsts teksta izvilkšanai no attēliem, izmantojot OCR.

Previous Next

Darba sākšana ar ImageMagick

Klonējiet jaunākos avotus, izmantojot šo komandu

Instalējiet ImageMagick, izmantojot GitHub.

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

Vai arī izmantojiet šo komandu, lai to instalētu.

Instalējiet ImageMagick, izmantojot RPM.

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

Pārveidojiet attēlu citos formātos

Atvērtā pirmkoda C bibliotēka ImageMagick ļauj programmatūras programmētājiem pārvērst attēlus citos atbalstītos failu formātos savās lietotnēs. Pirms konvertēšanas citā formātā lietotājiem ir jānorāda formāta parametrs. Bibliotēka iekšēji pārvērš attēlu citos formātos agrāk, pirms tiek lietotas transformācijas. Bibliotēka atbalsta konvertēšanu uz vairākiem populāriem attēlu formātiem, piemēram, BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF un XPM formātiem. Viens lielisks bibliotēkas aspekts ir ērta lietošana attēla pārveidošanas laikā. Tas arī nodrošina iespēju samazināt attēla izmēru un pielietot dažādus efektus pirms tā rakstīšanas vēlamajā formātā.

Pārveidojiet GIF uz JPEG attēlu, izmantojot 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; 
}

Attēlu gradientu atbalsts, izmantojot C API

Atvērtā koda C bibliotēka ImageMagick ļauj programmatūras izstrādātājiem izveidot vairāku krāsu attēlu gradientus, izmantojot C komandas. Varat viegli izveidot pakāpenisku vienas vai vairāku krāsu sajaukumu, izmantojot horizontālas, vertikālas, apļveida vai eliptiskas formas. Bibliotēka ir uzlabojusi gradientus, izmantojot vairākus definējumus, piemēram, lineārā gradienta virziena norādīšanu, radiālā gradienta centra punkta koordinātu noteikšanu, gradienta ierobežošanu līdz lielākam vai mazākam apgabalam nekā attēla izmēri utt. ieslēgts. Turklāt nelineāriem pelēktoņu gradientiem, lūdzu, pirms izvades saglabāšanas pievienojiet -colorspace RGB -colorspace gray.

Izveidojiet vienkāršu pelēktoņu gradientu, izmantojot 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();
}

Izmantojiet īpašos efektus attēliem, izmantojot C

Atvērtā pirmkoda C bibliotēka ImageMagick ir nodrošinājusi funkcionalitāti dažāda veida efektu pielietošanai attēliem. Tas ir nodrošinājis vairākas svarīgas funkcijas, piemēram, izplūšanu, asināšanu, slieksni, ēnu radīšanu, formu iekrāsošanu vai attēla tonēšanu, izmantojot pāris C koda rindiņas. Tiek atbalstīti arī daži īpaši izplūšanas efekti, piemēram, radio aizmiglojums un kustības izplūšana.

Lietojiet flīzes fonta efektu, izmantojot 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");

Lielu attēlu atbalsts

C bibliotēka ImageMagick ir nodrošinājusi atbalstu darbam ar ļoti lieliem attēliem. Tas ļauj izstrādātājiem savās attēlu apstrādes lietojumprogrammās atvērt, lasīt, apstrādāt vai rakstīt attēlus līdz pat mega, giga vai tera pikseļu izmēram. Bibliotēka ļauj mainīt attēla izmēru līdz ceturtdaļmiljonam pikseļu kvadrātā. Strādājot ar lieliem attēliem, jums ir jāpārliecinās par lielu atmiņas resursu pieejamību. Ja noklusējuma pagaidu diska nodalījums ir mazs, vadiet ImageMagick izmantot citu nodalījumu ar pietiekami daudz brīvas vietas.

 Latviski