1. Des produits
  2.   Image
  3.   ImageMagick

ImageMagick

 
 

Bibliothèque Open Source C pour créer et convertir des images

Créez, modifiez, composez, lisez et convertissez des images Bitmap à l'aide de l'API C gratuite. Il permet de redimensionner, retourner, mettre en miroir, faire pivoter, déformer, cisailler et transformer des images dans les applications C.

ImageMagick est une bibliothèque open source qui donne aux développeurs de logiciels le pouvoir d'inclure des capacités de traitement d'image dans leurs propres applications C. La bibliothèque est multiplateforme et peut fonctionner sans problème sur Linux, Windows, Mac Os X, iOS, Android OS et bien d'autres. Il a inclus la prise en charge de la lecture, de l'affichage, de la création, de la conversion, de la modification et de la modification d'images raster à l'aide de code C.

Une grande caractéristique d'ImageMagick est sa capacité à convertir avec précision et de manière professionnelle des images entre différents formats de fichiers de premier plan. La bibliothèque prend en charge plus de 200 formats de fichiers image tels que JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG et bien d'autres. La bibliothèque a également fourni un support pour le dessin ainsi que les graphiques et les graphiques animés avec facilité.

La bibliothèque est très riche en fonctionnalités et inclut la prise en charge de certaines fonctionnalités courantes de traitement d'image telles que le redimensionnement et le retournement d'image, la mise en miroir et la rotation d'image, la distorsion, la transformation d'images, le réglage des couleurs d'image, l'application de divers effets spéciaux de flou ou d'accentuation ou de seuil, les dégradés d'image , la détection des bords astucieuse dessine du texte, des lignes, des polygones, des ellipses, en utilisant une expression mathématique et bien d'autres. Récemment, la bibliothèque a également inclus la prise en charge de l'extraction de texte à partir d'images à l'aide de l'OCR.

Previous Next

Premiers pas avec ImageMagick

Clonez les dernières sources à l'aide de la commande suivante

Installez ImageMagick via GitHub.

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

Ou utilisez la commande suivante pour l'installer.

Installez ImageMagick via RPM.

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

Convertir l'image en d'autres formats

La bibliothèque C open source ImageMagick permet aux programmeurs de logiciels de convertir des images vers d'autres formats de fichiers pris en charge dans leurs propres applications. Les utilisateurs doivent fournir le paramètre de format avant de convertir dans un autre format. La bibliothèque convertit en interne l'image dans d'autres formats plus tôt, avant d'appliquer les transformations. La bibliothèque prend en charge la conversion vers plusieurs formats d'image populaires tels que les formats BMP, CMJN, GIF, JPEG, PBM, PNG, RVB, SVG, TIFF et XPM. Un grand aspect de la bibliothèque est la facilité d'utilisation lors de la conversion de l'image. Il offre également la possibilité de réduire la taille de l'image et d'appliquer différents effets avant de l'écrire dans le format souhaité.

Convertir GIF à l'image JPEG via 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; 
}

Prise en charge des dégradés d'image à l'aide de l'API C

La bibliothèque C open source ImageMagick permet aux développeurs de logiciels de créer des dégradés d'images de plusieurs couleurs à l'aide de commandes C. Vous pouvez facilement créer un mélange progressif d'une ou plusieurs couleurs en utilisant des formes horizontales, verticales, circulaires ou elliptiques. La bibliothèque a amélioré les dégradés grâce à l'utilisation de plusieurs définitions telles que la spécification de la direction du dégradé linéaire, l'identification des coordonnées du point central du dégradé radial, la restriction du dégradé à une région plus grande ou plus petite que les dimensions de l'image, etc. sur. De plus, pour les dégradés de niveaux de gris non linéaires, veuillez ajouter -colorspace RGB -colorspace gray avant d'enregistrer la sortie.

Créer un gradient de Grayscale simple via 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();
}

Appliquer des effets spéciaux aux images via C

La bibliothèque C open source ImageMagick a fourni des fonctionnalités pour appliquer différents types d'effets aux images. Il a fourni plusieurs fonctions importantes telles que le flou, la netteté, le seuil, la création d'ombres, l'adoucissement des formes ou la teinte d'une image à l'aide de quelques lignes de code C. Certains effets de flou spéciaux tels que le flou radio et le flou de mouvement sont également pris en charge.

Appliquer l'effet Font déposé par 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");

Prise en charge des grandes images

La bibliothèque C ImageMagick a fourni un support pour travailler avec de très grandes images. Il permet aux développeurs d'ouvrir, de lire, de traiter ou d'écrire des images jusqu'à des tailles de méga, giga ou téra pixels dans leurs propres applications de traitement d'images. La bibliothèque permet de redimensionner une image à un quart de million de pixels carrés. Lorsque vous travaillez avec de grandes images, vous devez vous assurer de la disponibilité de ressources mémoire importantes. Si la partition de disque temporaire par défaut est petite, guidez ImageMagick pour qu'il utilise une autre partition avec une quantité suffisante d'espace libre.

 Français