1. Prodotti
  2.   Immagine
  3.   ImageMagick

ImageMagick

 
 

Libreria C Open Source per creare e convertire immagini

Crea, modifica, componi, leggi e converti immagini bitmap utilizzando C API gratuita. Consente di ridimensionare, capovolgere, specchiare, ruotare, distorcere, tagliare e trasformare le immagini all'interno delle app C.

ImageMagick è una libreria open source che offre agli sviluppatori di software la possibilità di includere funzionalità di elaborazione delle immagini all'interno delle proprie applicazioni C. La libreria è multipiattaforma e può essere eseguita senza problemi su Linux, Windows, Mac Os X, iOS, sistema operativo Android e molti altri. Ha incluso il supporto per la lettura, la visualizzazione, la creazione, la conversione, la modifica e la modifica di immagini raster utilizzando il codice C.

Una grande caratteristica di ImageMagick è la sua capacità di convertire in modo accurato e professionale le immagini tra i diversi formati di file principali. La libreria include il supporto per oltre 200 formati di file immagine come JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG e molti altri. La libreria ha anche fornito supporto per il disegno, nonché per la grafica e la grafica animata con facilità.

La libreria è molto ricca di funzionalità e include il supporto per alcune comuni funzioni di elaborazione delle immagini come il ridimensionamento e il capovolgimento dell'immagine, il mirroring e la rotazione dell'immagine, la distorsione, la trasformazione delle immagini, la regolazione dei colori dell'immagine, l'applicazione di vari effetti speciali sfocatura o nitidezza o soglia, gradienti dell'immagine , il rilevamento dei bordi astuti disegna testo, linee, poligoni, ellissi, utilizzando espressioni matematiche e molti altri. Recentemente la libreria ha incluso anche il supporto per l'estrazione di testo dalle immagini tramite OCR.

Previous Next

Guida introduttiva a ImageMagick

Clona le ultime fonti usando il comando seguente

Installa ImageMagick tramite GitHub.

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

Oppure usa il seguente comando per installarlo.

Installa ImageMagic tramite RPM.

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

Converti immagine in altri formati

La libreria C open source ImageMagick consente ai programmatori di software di convertire le immagini in altri formati di file supportati all'interno delle proprie app. Gli utenti devono fornire il parametro format prima di eseguire la conversione in un altro formato. La libreria converte internamente l'immagine in altri formati prima di applicare le trasformazioni. La libreria supporta la conversione in diversi formati di immagine popolari come i formati BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF e XPM. Un grande aspetto della libreria è la facilità d'uso durante la conversione dell'immagine. Fornisce inoltre la possibilità di ridurre le dimensioni dell'immagine e applicare diversi effetti prima di scriverla nel formato desiderato.

Convertire GIF in JPEG Immagine tramite 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; 
}

Gradienti dell'immagine Supporto utilizzando C API

La libreria C open source ImageMagick consente agli sviluppatori di software di creare sfumature di immagini di più colori utilizzando i comandi C. Puoi facilmente creare una miscela graduale di uno o più colori utilizzando forme orizzontali, verticali, circolari o ellittiche. La libreria ha migliorato i gradienti attraverso l'uso di diverse definizioni, come specificare la direzione del gradiente lineare, identificare le coordinate del punto centrale per il gradiente radiale, limitare il gradiente a una regione più grande o più piccola rispetto alle dimensioni dell'immagine e così via Su. Inoltre, per i gradienti in scala di grigi non lineari, aggiungere -colorspace RGB -colorspace gray prima di salvare l'output.

Creare una scala di grigi semplice tramite 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();
}

Applicare effetti speciali alle immagini tramite C

La libreria C open source ImageMagick ha fornito funzionalità per applicare diversi tipi di effetti alle immagini. Ha fornito diverse funzioni importanti come sfocatura, nitidezza, soglia, creazione di ombre, forme sfumate o colorazione di un'immagine utilizzando un paio di righe di codice C. Sono supportati anche alcuni effetti di sfocatura speciali come sfocatura radio e sfocatura movimento.

Applicare Filed Font Effect via 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");

Supporto per immagini di grandi dimensioni

La libreria C ImageMagick ha fornito supporto per lavorare con immagini molto grandi. Consente agli sviluppatori di aprire, leggere, elaborare o scrivere immagini fino a dimensioni Mega, Giga o Tera pixel all'interno delle proprie applicazioni di elaborazione delle immagini. La libreria consente di ridimensionare un'immagine a un quarto di milione di pixel quadrati. Quando si lavora con immagini di grandi dimensioni, è necessario assicurarsi della disponibilità di grandi risorse di memoria. Se la partizione del disco temporaneo predefinita è piccola, guida ImageMagick a utilizzare un'altra partizione con una quantità sufficiente di spazio libero.

 Italiano