1. Produse
  2.   Imagine
  3.   ImageMagick

ImageMagick

 
 

Biblioteca C open source pentru a crea și a converti imagini

Creați, editați, compuneți, citiți și convertiți imagini Bitmap folosind C  API gratuit. Permite redimensionarea, răsturnarea, oglindirea, rotirea, distorsionarea, tăierea și transformarea imaginilor în aplicațiile C.

ImageMagick este o bibliotecă open source care oferă dezvoltatorilor de software puterea de a include capabilități de procesare a imaginilor în propriile aplicații C. Biblioteca este multiplatformă și poate rula fără probleme pe Linux, Windows, Mac Os X, iOS, Android OS și multe altele. Acesta a inclus suport pentru citirea, afișarea, crearea, conversia, modificarea și modificarea imaginilor raster folosind codul C.

O caracteristică excelentă a ImageMagick este capacitatea sa de a converti cu acuratețe și profesionalism imaginile între diferite formate de fișiere principale. Biblioteca a inclus suport pentru peste 200 de formate de fișiere imagine, cum ar fi JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG și multe altele. Biblioteca a oferit, de asemenea, suport pentru desen, precum și pentru grafică și grafică animată cu ușurință.

Biblioteca este foarte bogată în caracteristici și a inclus suport pentru unele caracteristici comune de procesare a imaginii, cum ar fi redimensionarea și răsturnarea imaginii, oglindirea și rotirea imaginii, distorsionarea, transformarea imaginilor, ajustarea culorilor imaginii, aplicarea diferitelor efecte speciale, estompare sau clarificare sau prag, gradienți de imagine. , detectarea marginilor științifice desenează text, linii, poligoane, elipse, folosind expresii matematice și multe altele. Recent, biblioteca a inclus și suport pentru extragerea textului din imagini folosind OCR.

Previous Next

Noțiuni introductive cu ImageMagick

Clonează cele mai recente surse folosind următoarea comandă

Instalați ImageMagick prin GitHub.

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

Sau utilizați următoarea comandă pentru a o instala.

Instalați ImageMagick prin RPM.

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

Convertiți imaginea în alte formate

Biblioteca C open source ImageMagick le permite programatorilor de software să convertească imagini în alte formate de fișiere acceptate în propriile aplicații. Utilizatorii trebuie să furnizeze parametrul de format înainte de a converti într-un alt format. Biblioteca convertește intern imaginea în alte formate mai devreme, înainte de a aplica transformările. Biblioteca acceptă conversia în mai multe formate de imagine populare, cum ar fi formatele BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF și XPM. Un aspect important al bibliotecii este ușurința de utilizare în timpul conversiei imaginii. De asemenea, oferă posibilitatea de a reduce dimensiunea imaginii și de a aplica diferite efecte înainte de a o scrie în formatul dorit.

Convertiți GIF în imagine JPEG prin 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; 
}

Suport pentru degrade de imagine folosind C API

Biblioteca C open source ImageMagick le permite dezvoltatorilor de software să creeze gradienți de imagine de mai multe culori folosind comenzile C. Puteți crea cu ușurință un amestec gradual de una sau mai multe culori folosind forme orizontale, verticale, circulare sau eliptice. Biblioteca a îmbunătățit gradienții prin utilizarea mai multor definiții, cum ar fi specificarea direcției gradientului liniar, identificarea coordonatelor punctului central pentru gradientul radial, restrângerea gradientului la o regiune mai mare sau mai mică decât dimensiunile imaginii și așadar pe. Mai mult, pentru gradienți neliniari în tonuri de gri, adăugați -colorspace RGB -colorspace grey înainte de a salva rezultatul.

Creați un gradient simplu în tonuri de gri prin API-ul C


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

Aplicați efecte speciale imaginilor prin C

Biblioteca C open source ImageMagick a oferit funcționalități pentru aplicarea diferitelor tipuri de efecte imaginilor. Acesta a oferit mai multe funcții importante, cum ar fi estomparea, clarificarea, pragul, crearea de umbre, apariția formelor sau colorarea unei imagini folosind câteva linii de cod C. Sunt acceptate și unele efecte speciale de estompare, cum ar fi estomparea radio și estomparea mișcării.

Aplicați efectul de font Tiled prin API-ul C

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

Suport pentru imagini mari

Biblioteca C ImageMagick a oferit suport pentru lucrul cu imagini foarte mari. Acesta permite dezvoltatorilor să deschidă, să citească, să proceseze sau să scrie imagini de până la dimensiuni de mega, giga sau tera pixeli în propriile aplicații de procesare a imaginilor. Biblioteca permite redimensionarea unei imagini la un sfert de milion de pixeli pătrați. În timp ce lucrați cu imagini mari, trebuie să vă asigurați că există resurse mari de memorie. Dacă partiția temporară implicită a discului este mică, atunci ghidați ImageMagick să folosească o altă partiție cu o cantitate suficientă de spațiu liber.

 Română