1. Məhsullar
  2.   Şəkil
  3.   ImageMagick

ImageMagick

 
 

Şəkillər Yaratmaq və Çevirmək üçün Açıq Mənbə C Kitabxanası

Pulsuz C API istifadə edərək Bitmap şəkillərini yaradın, redaktə edin, tərtib edin, oxuyun və çevirin. O, C proqramlarında şəkillərin ölçüsünü dəyişməyə, çevirməyə, əks etdirməyə, fırlatmağa, təhrif etməyə, kəsməyə və çevirməyə imkan verir.

ImageMagick, proqram tərtibatçılarına öz C proqramlarında təsvirin emal imkanlarını daxil etmək səlahiyyəti verən açıq mənbəli kitabxanadır. Kitabxana çarpaz platformadır və Linux, Windows, Mac Os X, iOS, Android OS və bir çox başqa sistemlərdə rahat şəkildə işləyə bilər. O, C kodundan istifadə edərək rastr şəkillərini oxumaq, göstərmək, yaratmaq, konvertasiya etmək, dəyişdirmək və dəyişdirmək üçün dəstəyi ehtiva edir.

ImageMagick-in əla xüsusiyyətlərindən biri, müxtəlif aparıcı fayl formatları arasında şəkilləri dəqiq və peşəkar şəkildə çevirmək qabiliyyətidir. Kitabxanaya JPEG, PNG, GIF, HEIC, Exif, TIFF, CGM, DPX, EXR, WebP, Postscript, PDF, SVG və daha çox kimi 200-dən çox şəkil faylı formatları üçün dəstək daxildir. Kitabxana həmçinin asanlıqla rəsm, qrafika və animasiya qrafikası üçün dəstək təmin etmişdir.

Kitabxana çox xüsusiyyətlərlə zəngindir və təsvirin ölçüsünün dəyişdirilməsi və sürüşdürülməsi, təsvirin əks olunması və fırlanması, təhrif edilməsi, şəkillərin dəyişdirilməsi, təsvirin rənglərinin tənzimlənməsi, müxtəlif xüsusi effektlərin tətbiqi, bulanıqlıq və ya kəskinləşdirmə və ya həddi, şəkil gradientləri kimi bəzi ümumi təsvirin işlənməsi funksiyalarına dəstək daxildir. , canny kənar aşkarlanması riyazi ifadə istifadə edərək, mətn, xətlər, çoxbucaqlı, ellips çəkmək və daha çox. Bu yaxınlarda kitabxanaya OCR istifadə edərək şəkillərdən mətn çıxarmaq üçün dəstək də daxil edilmişdir.

Previous Next

ImageMagick ilə işə başlamaq

Aşağıdakı əmrdən istifadə edərək ən son mənbələri klonlayın

ImageMagick-i GitHub vasitəsilə quraşdırın.

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

Və ya quraşdırmaq üçün aşağıdakı əmrdən istifadə edin.

RPM vasitəsilə ImageMagick-i quraşdırın.

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

Şəkli digər formatlara çevirin

Açıq mənbəli C kitabxanası ImageMagick proqram proqramçılarına şəkilləri öz proqramlarında dəstəklənən digər fayl formatlarına çevirməyə imkan verir. İstifadəçilər başqa formata çevirməzdən əvvəl format parametrini təqdim etməlidirlər. Kitabxana, transformasiyaları tətbiq etməzdən əvvəl şəkli daxili olaraq digər formatlara çevirir. Kitabxana BMP, CMYK, GIF, JPEG, PBM, PNG, RGB, SVG, TIFF və XPM kimi bir neçə məşhur şəkil formatına çevrilməyi dəstəkləyir. Kitabxananın gözəl cəhətlərindən biri şəkli çevirərkən istifadənin asanlığıdır. O, həmçinin şəklin ölçüsünü azaltmaq və onu istədiyiniz formatda yazmazdan əvvəl müxtəlif effektlər tətbiq etmək imkanı verir.

ImageMagick vasitəsilə GIF-i JPEG Şəkilə çevirin


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

C API istifadə edərək Image Gradients dəstəyi

Açıq mənbəli C kitabxanası ImageMagick proqram tərtibatçılarına C əmrlərindən istifadə edərək çox rəngli görüntü qradiyenti yaratmağa imkan verir. Üfüqi, şaquli, dairəvi və ya elliptik formalardan istifadə edərək asanlıqla bir və ya bir neçə rəngin tədricən qarışığını yarada bilərsiniz. Kitabxana xətti qradiyentin istiqamətini təyin etmək, radial qradiyent üçün mərkəz nöqtəsinin koordinatlarını müəyyən etmək, qradiyenti şəkil ölçülərindən daha böyük və ya daha kiçik bölgə ilə məhdudlaşdırmaq və s. haqqında. Bundan əlavə, qeyri-xətti boz miqyaslı gradientlər üçün çıxışı saxlamazdan əvvəl -colorspace RGB -colorspace grey əlavə edin.

C API vasitəsilə Sadə Boz Tonlu Qradient yaradın


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

C vasitəsilə Şəkillərə Xüsusi Effektlər Tətbiq edin

ImageMagick açıq mənbəli C kitabxanası şəkillərə müxtəlif növ effektlərin tətbiqi üçün funksionallıq təmin etmişdir. O, bir neçə C kodu sətirindən istifadə edərək bulanıqlaşdırma, kəskinləşdirmə, eşik həddi, kölgələr yaratmaq, lələk formaları və ya şəklin rənglənməsi kimi bir neçə vacib funksiyanı təmin etmişdir. Radio bulanıqlığı və hərəkət bulanıqlığı kimi bəzi xüsusi bulanıqlıq effektləri də dəstəklənir.

C API vasitəsilə Tiled Font Effektini tətbiq edin

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

Böyük Şəkillər Dəstəyi

ImageMagick C kitabxanası çox böyük şəkillərlə işləmək üçün dəstək verdi. O, tərtibatçılara öz şəkil emal proqramlarında Meqa-, Giga- və ya Tera-piksel ölçülərinə qədər şəkilləri açmağa, oxumağa, emal etməyə və ya yazmağa imkan verir. Kitabxana şəklin ölçüsünü dörddə bir milyon piksel kvadrata qədər dəyişməyə imkan verir. Böyük şəkillərlə işləyərkən böyük yaddaş resurslarının mövcudluğundan əmin olmalısınız. Defolt müvəqqəti disk bölməsi kiçikdirsə, kifayət qədər boş yerə malik başqa bölmədən istifadə etmək üçün ImageMagick-ə rəhbərlik edin.

 Azəri