1. Tuotteet
  2.   Kuva
  3.   ImageMagick

ImageMagick

 
 

Avoimen lähdekoodin C-kirjasto kuvien luomiseen ja muuntamiseen

Luo, muokkaa, kirjoita, lue ja muunna bittikarttakuvia ilmaisella C API:lla. Sen avulla voit muuttaa, kääntää, peilata, kiertää, vääristää, leikata ja muuttaa kuvia C-sovellusten sisällä.

ImageMagick on avoimen lähdekoodin kirjasto, joka antaa ohjelmistokehittäjille mahdollisuuden sisällyttää kuvankäsittelyominaisuuksia omiin C-sovelluksiinsa. Kirjasto on monialustainen ja toimii sujuvasti Linuxissa, Windowsissa, Mac Os X:ssä, iOS:ssä, Android OS:ssä ja monissa muissa käyttöjärjestelmissä. Se on sisältänyt tuen rasterikuvien lukemiseen, näyttämiseen, luomiseen, muuntamiseen, muokkaamiseen ja muokkaamiseen C-koodin avulla.

Yksi ImageMagickin hieno ominaisuus on sen kyky muuntaa kuvat tarkasti ja ammattimaisesti eri johtavien tiedostomuotojen välillä. Kirjasto on tukenut yli 200 kuvatiedostomuotoa, kuten JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG ja monia muita. Kirjasto on myös tarjonnut tukea piirtämiseen sekä grafiikkaan ja animoituun grafiikkaan helposti.

Kirjasto on erittäin monipuolinen ja sisältää tuen joihinkin yleisiin kuvankäsittelyominaisuuksiin, kuten kuvan koon muuttamiseen ja kääntämiseen, kuvan peilaukseen ja kääntämiseen, vääristymiseen, kuvien muuntamiseen, kuvan värien säätöön, erilaisten erikoistehosteiden sumennuksen tai terävöinnin tai kynnyksen käyttämiseen, kuvan liukuväreihin. , näppärä reunantunnistus piirtää tekstiä, viivoja, polygoneja, ellipsejä käyttämällä matemaattista lauseketta ja paljon muuta. Viime aikoina kirjastossa on myös tuki tekstin poimimiseen kuvista OCR:n avulla.

Previous Next

ImageMagickin käytön aloittaminen

Kloonaa uusimmat lähteet käyttämällä seuraavaa komentoa

Asenna ImageMagick GitHubin kautta.

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

Tai asenna se käyttämällä seuraavaa komentoa.

Asenna ImageMagick RPM:n kautta.

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

Muunna kuva muihin muotoihin

Avoimen lähdekoodin C-kirjasto ImageMagick antaa ohjelmoijille mahdollisuuden muuntaa kuvat muihin tuettuihin tiedostomuotoihin omissa sovelluksissaan. Käyttäjien on annettava muotoparametri ennen muuntamista toiseen muotoon. Kirjasto muuntaa kuvan sisäisesti muihin muotoihin aikaisemmin, ennen muunnosten käyttöönottoa. Kirjasto tukee muuntamista useisiin suosittuihin kuvamuotoihin, kuten BMP-, CMYK-, GIF-, JPEG-, PBM-, PNG-, RGB-, SVG-, TIFF- ja XPM-muotoihin. Yksi kirjaston hieno puoli on helppokäyttöisyys kuvan muuntamisen aikana. Se tarjoaa myös mahdollisuuden pienentää kuvan kokoa ja käyttää erilaisia tehosteita ennen sen kirjoittamista haluttuun muotoon.

Muunna GIF JPEG-kuvaksi ImageMagickin avulla


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

Kuvagradienttituki C API:lla

Avoimen lähdekoodin C-kirjasto ImageMagick antaa ohjelmistokehittäjille mahdollisuuden luoda kuvagradientteja useista väreistä käyttämällä C-komentoja. Voit helposti luoda asteittain yhden tai useamman värin sekoituksen käyttämällä vaaka-, pysty-, pyöreitä tai elliptisiä muotoja. Kirjasto on parantanut gradientteja käyttämällä useita määritelmiä, kuten lineaarisen gradientin suunnan määrittäminen, säteittäisen gradientin keskipisteen koordinaattien tunnistaminen, gradientin rajoittaminen kuvan mitat suuremmalle tai pienemmälle alueelle ja niin edelleen. päällä. Lisäksi epälineaarisia harmaasävygradientteja varten lisää -väriavaruus RGB -väriavaruuksien harmaa ennen tulosteen tallentamista.

Luo yksinkertainen harmaasävygradientti C-sovellusliittymän kautta


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

Käytä erikoistehosteita kuviin C:n kautta

Avoimen lähdekoodin C-kirjasto ImageMagick on tarjonnut toimintoja erityyppisten tehosteiden soveltamiseen kuviin. Se on tarjonnut useita tärkeitä toimintoja, kuten sumentamisen, terävöinnin, kynnyksen, varjojen luomisen, muotojen höyläyksen tai kuvan sävyttämisen muutamalla C-koodirivillä. Joitakin erityisiä sumennustehosteita, kuten radio-epäterävyyttä ja liikesumennusta, tuetaan myös.

Käytä Tiled Font Effect C-sovellusliittymän kautta

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

Suurten kuvien tuki

C-kirjasto ImageMagick on tarjonnut tukea erittäin suurten kuvien käsittelyyn. Sen avulla kehittäjät voivat avata, lukea, käsitellä tai kirjoittaa kuvia jopa mega-, giga- tai terapikselin kokoisiin kuviin omissa kuvankäsittelysovelluksissaan. Kirjasto mahdollistaa kuvan koon muuttamisen neljännesmiljoonaan pikseliin. Kun työskentelet suurten kuvien kanssa, sinun on varmistettava suurten muistiresurssien saatavuus. Jos oletusarvoinen väliaikainen levyosio on pieni, ohjaa ImageMagickia käyttämään toista osiota, jossa on riittävästi vapaata tilaa.

 Suomen