| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534 |
- <?xml version="1.0" encoding="utf-8" ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>Magick++ API: Working with Images</title>
- <link rel="stylesheet" href="magick.css" type="text/css" />
- </head>
- <body>
- <div class="doc-section">
- <center>
- <h1> Magick::Image Class</h1>
- </center>
- <h4> Quick Contents</h4>
- <ul>
- <li> <a href="Image++.html#BLOBs">BLOBs</a> </li>
- <li> <a href="Image++.html#Constructors">Constructors</a> </li>
- <li>
- <a href="Image++.html#Image%20Manipulation%20Methods">
- Image Manipulation
- Methods
- </a>
- </li>
- <li> <a href="Image++.html#Image%20Attributes">Image Attributes</a> </li>
- <li>
- <a href="Image++.html#Raw%20Image%20Pixel%20Access">
- Low-Level Image Pixel
- Access
- </a>
- </li>
- </ul>
- <p>
- Image is the primary object in Magick++ and represents
- a single image frame (see <a href="https://imagemagick.org/Magick++/ImageDesign.html">design</a> ). The
- <a href="STL.html">STL interface</a> <b>must</b> be used to operate on
- image sequences or images (e.g. of format GIF, TIFF, MIFF, Postscript,
- & MNG) which are comprized of multiple image frames. Individual
- frames of a multi-frame image may be requested by adding array-style
- notation to the end of the file name (e.g. "animation.gif[3]" retrieves
- the fourth frame of a GIF animation.  Various image manipulation
- operations may be applied to the image. Attributes may be set on the
- image to influence the operation of the manipulation operations. The <a href="Pixels.html">Pixels</a> class provides low-level access to
- image
- pixels. As a convenience, including <tt><font color="#663366"><Magick++.h></font></tt>
- is sufficient in order to use the complete Magick++ API. The Magick++
- API is enclosed within the <i>Magick</i> namespace so you must either
- add the prefix "<tt> Magick::</tt> " to each class/enumeration name or
- add
- the statement "<tt> using namespace Magick;</tt>" after including the <tt>Magick++.h</tt>
- header.
- </p>
- <p>
- The preferred way to allocate Image objects is via automatic
- allocation (on the stack). There is no concern that allocating Image
- objects on the stack will excessively enlarge the stack since Magick++
- allocates all large data objects (such as the actual image data) from
- the heap. Use of automatic allocation is preferred over explicit
- allocation (via <i>new</i>) since it is much less error prone and
- allows use of C++ scoping rules to avoid memory leaks. Use of automatic
- allocation allows Magick++ objects to be assigned and copied just like
- the C++ intrinsic data types (e.g. '<i>int</i> '), leading to clear and
- easy to read code. Use of automatic allocation leads to naturally
- exception-safe code since if an exception is thrown, the object is
- automagically deallocated once the stack unwinds past the scope of the
- allocation (not the case for objects allocated via <i>new</i> ).
- </p>
- <p>
- Image is very easy to use. For example, here is a the source to a
- program which reads an image, crops it, and writes it to a new file
- (the
- exception handling is optional but strongly recommended):
- </p>
- <pre class="code">
- #include <Magick++.h>
- #include <iostream>
- using namespace std;
- using namespace Magick;
- int main(int argc,char **argv)
- {
- InitializeMagick(*argv);
- // Construct the image object. Seperating image construction from the
- // the read operation ensures that a failure to read the image file
- // doesn't render the image object useless.
- Image image;
- try {
- // Read a file into image object
- image.read( "girl.gif" );
- // Crop the image to specified size (width, height, xOffset, yOffset)
- image.crop( Geometry(100,100, 100, 100) );
- // Write the image to a file
- image.write( "x.gif" );
- }
- catch( Exception &error_ )
- {
- cout << "Caught exception: " << error_.what() << endl;
- return 1;
- }
- return 0;
- }
- </pre>
- The following is the source to a program which illustrates the use of
- Magick++'s efficient reference-counted assignment and copy-constructor
- operations which minimize use of memory and eliminate unncessary copy
- operations (allowing Image objects to be efficiently assigned, and
- copied into containers).  The program accomplishes the
- following:
- <ol>
- <li> Read master image.</li>
- <li> Assign master image to second image.</li>
- <li> Resize second image to the size 640x480.</li>
- <li> Assign master image to a third image.</li>
- <li> Resize third image to the size 800x600.</li>
- <li> Write the second image to a file.</li>
- <li> Write the third image to a file.</li>
- </ol>
- <pre class="code">
- #include <Magick++.h>
- #include <iostream>
- using namespace std;
- using namespace Magick;
- int main(int argc,char **argv)
- {
- InitializeMagick(*argv);
- Image master("horse.jpg");
- Image second = master;
- second.resize("640x480");
- Image third = master;
- third.resize("800x600");
- second.write("horse640x480.jpg");
- third.write("horse800x600.jpg");
- return 0;
- }
- </pre>
- During the entire operation, a maximum of three images exist in memory
- and the image data is never copied.
- <p>
- The following is the source for another simple program which creates
- a 100 by 100 pixel white image with a red pixel in the center and
- writes it to a file:
- </p>
- <pre class="code">
- #include <Magick++.h>
- using namespace std;
- using namespace Magick;
- int main(int argc,char **argv)
- {
- InitializeMagick(*argv);
- Image image( "100x100", "white" );
- image.pixelColor( 49, 49, "red" );
- image.write( "red_pixel.png" );
- return 0;
- }
- </pre>
- If you wanted to change the color image to grayscale, you could add the
- lines:
- <pre class="code">
- image.quantizeColorSpace( GRAYColorspace );
- image.quantizeColors( 256 );
- image.quantize( );
- </pre>
- <p>or, more simply: </p>
- <pre class="code">
- image.type( GrayscaleType );
- </pre>
- <p>prior to writing the image. </p>
- <center>
- <h3> <a name="BLOBs"></a> BLOBs</h3>
- </center>
- While encoded images (e.g. JPEG) are most often written-to and
- read-from a disk file, encoded images may also reside in memory.
- Encoded
- images in memory are known as BLOBs (Binary Large OBjects) and may be
- represented using the <a href="Blob.html">Blob</a> class. The encoded
- image may be initially placed in memory by reading it directly from a
- file, reading the image from a database, memory-mapped from a disk
- file, or could be written to memory by Magick++. Once the encoded image
- has been placed within a Blob, it may be read into a Magick++ Image via
- a <a href="Image++.html#constructor_blob">constructor</a> or <a href="Image++.html#read">read()</a>
- . Likewise, a Magick++ image may be written to a Blob via <a href="Image++.html#write">write()</a> .
- <p>
- An example of using Image to write to a Blob follows: <br />
-  
- </p>
- <pre class="code">
- #include >Magick++.h>
- 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;
- }
- </pre>
- <p>
- <br />
- likewise, to read an image from a Blob, you could use one of the
- following examples:
- </p>
- <p>
- [ <font color="#000000">
- Entry condition for the following examples
- is that <i>data</i> is pointer to encoded image data and <i>length</i>
- represents the size of the data
- </font> ]
- </p>
- <pre class="code">
- Blob blob( data, length );
- Image image( blob );
- </pre>
- or
- <pre class="code">
- Blob blob( data, length );
- Image image;
- image.read( blob);
- </pre>
- some images do not contain their size or format so the size and format must be specified in advance:
- <pre class="code">
- Blob blob( data, length );
- Image image;
- image.size( "640x480")
- image.magick( "RGBA" );
- image.read( blob);
- </pre>
- <center>
- <h3> <a name="Constructors"></a> Constructors</h3>
- </center>
- Image may be constructed in a number of ways. It may be constructed
- from a file, a URL, or an encoded image (e.g. JPEG) contained in an
- in-memory <a href="Blob.html"> BLOB</a> . The available Image
- constructors are shown in the following table: <br />
-   <br />
-  
- <table bgcolor="#ffffff" border="1" width="100%">
- <caption><b>Image Constructors</b></caption>
- <tbody>
- <tr>
- <td>
- <center><b>Signature</b></center>
- </td>
- <td>
- <center><b>Description</b></center>
- </td>
- </tr>
- <tr>
- <td><font size="-1">const std::string &imageSpec_</font></td>
- <td>
- <font size="-1">
- Construct Image by reading from file or URL
- specified by <i>imageSpec_</i>. Use array notation (e.g. filename[9])
- to select a specific scene from a multi-frame image.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const Geometry &size_, const <a href="Color.html">Color</a> &color_
- </font>
- </td>
- <td>
- <font size="-1">
- Construct a blank image canvas of specified
- size and color
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <a name="constructor_blob"></a> <font size="-1">
- const <a href="Blob.html">Blob</a> &blob_
- </font>
- </td>
- <td rowspan="5">
- <font size="-1">
- Construct Image by reading from
- encoded image data contained in an in-memory <a href="Blob.html">BLOB</a>
- . Depending on the constructor arguments, the Blob <a href="Image++.html#size">size</a>
- , <a href="Image++.html#depth">depth</a> , <a href="Image++.html#magick">magick</a> (format)
- may
- also be specified. Some image formats require that size be specified.
- The default ImageMagick uses for depth depends on the compiled-in
- Quantum size (8 or 16).  If ImageMagick's Quantum size does not
- match that of the image, the depth may need to be specified.
- ImageMagick can usually automagically detect the image's format.
- When a format can't be automagically detected, the format (<a href="Image++.html#magick">magick</a> ) must be specified.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size,
- size_t depth
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size,
- size_t depth_, const string &magick_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size,
- const
- string &magick_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">const size_t width_, </font> <br />
- <font size="-1">const size_t height_,</font> <br />
- <font size="-1">std::string map_,</font> <br />
- <font size="-1">
- const <a href="https://imagemagick.org/Magick++/Enumerations.html#StorageType">
- StorageType
- </a> type_,
- </font> <br />
- <font size="-1">const void *pixels_</font>
- </td>
- <td>
- <font size="-1">
- Construct a new Image based on an array of
- image pixels. The pixel data must be in scanline order top-to-bottom.
- The data can be character, short int, integer, float, or double. Float
- and double require the pixels to be normalized [0..1]. The other types
- are [0..MaxRGB].  For example, to create a 640x480 image from
- unsigned red-green-blue character data, use
- </font>
- <p>
- <font size="-1">
-    Image image( 640, 480, "RGB",
- 0, pixels );
- </font>
- </p>
- <p>
- <font size="-1">The parameters are as follows:</font> <br />
-  
- </p>
- <table border="0" width="100%">
- <tbody>
- <tr>
- <td><font size="-1">width_</font></td>
- <td><font size="-1">Width in pixels of the image.</font></td>
- </tr>
- <tr>
- <td><font size="-1">height_</font></td>
- <td><font size="-1">Height in pixels of the image.</font></td>
- </tr>
- <tr>
- <td><font size="-1">map_</font></td>
- <td>
- <font size="-1">
- This character string can be any
- combination or order of R = red, G = green, B = blue, A = alpha, C =
- cyan, Y = yellow M = magenta, and K = black. The ordering reflects the
- order of the pixels in the supplied pixel array.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">type_</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#StorageType">
- Pixel
- storage type
- </a> (CharPixel, ShortPixel, IntegerPixel, FloatPixel, or
- DoublePixel)
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">pixels_</font></td>
- <td>
- <font size="-1">
- This array of values contain the pixel
- components as defined by the map_ and type_ parameters. The length of
- the arrays must equal the area specified by the width_ and height_
- values and type_ parameters.
- </font>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <center>
- <h3>
- <a name="Image Manipulation Methods"></a> Image Manipulation
- Methods
- </h3>
- </center>
- <i>Image</i> supports access to all the single-image (versus
- image-list) manipulation operations provided by the ImageMagick
- library. If you
- must process a multi-image file (such as an animation), the <a href="STL.html">STL interface</a> , which provides a multi-image
- abstraction on top of <i>Image</i>, must be used.
- <p>Image manipulation methods are very easy to use.  For example: </p>
- <pre class="code">
- Image image;
- image.read("myImage.tiff");
- image.addNoise(GaussianNoise);
- image.write("myImage.tiff");
- </pre>
- adds gaussian noise to the image file "myImage.tiff".
- <p>
- The operations supported by Image are shown in the following table: <br />
-  
- </p>
- <table border="1">
- <caption><b>Image Image Manipulation Methods</b></caption>
- <tbody>
- <tr align="center">
- <td><b>Method</b></td>
- <td><b>Signature(s)</b></td>
- <td><b>Description</b></td>
- </tr>
- <tr>
- <td style="text-align: center;" valign="middle">
- <div style="text-align:center">
- <a name="adaptiveThreshold"></a> <font size="-1">
- adaptiveThreshold<br />
- </font>
- </div>
- </td>
- <td valign="middle">
- <font size="-1">
- size_t width, size_t
- height, size_t offset = 0<br />
- </font>
- </td>
- <td valign="top">
- <font size="-1">
- Apply adaptive thresholding to
- the image. Adaptive thresholding is useful if the ideal threshold level
- is not known in advance, or if the illumination gradient is not
- constant
- across the image. Adaptive thresholding works by evaulating the mean
- (average) of a pixel region (size specified by <i>width</i> and <i>height</i>)
- and using the mean as the thresholding value. In order to remove
- residual noise from the background, the threshold may be adjusted by
- subtracting a constant <i>offset</i> (default zero) from the mean to
- compute the threshold.
- </font><br />
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="addNoise"></a> <font size="-1">addNoise</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#NoiseType">NoiseType</a>
- noiseType_
- </font>
- </td>
- <td><font size="-1">Add noise to image with specified noise type.</font></td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="addNoiseChannel"></a>addNoiseChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel_, const NoiseType noiseType_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Add noise to an image
- channel with the specified noise type.
- </small><font size="-1">
- The <span style="font-style: italic;">channel_</span> parameter specifies the
- channel to add noise to.  The
- </font><small>
- noiseType_ parameter
- specifies the type of noise.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="affineTransform"></a>affineTransform<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const DrawableAffine
- &affine<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Transform image by
- specified affine (or free transform) matrix.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="4">
- <center><a name="annotate"></a> <font size="-1">annotate</font></center>
- </td>
- <td>
- <font size="-1">
- const std::string &text_, const <a href="Geometry.html">Geometry</a> &location_
- </font>
- </td>
- <td>
- <font size="-1">
- Annotate using specified text, and placement
- location
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- string text_, const <a href="Geometry.html">Geometry</a>
- &boundingArea_, <a href="https://imagemagick.org/Magick++/Enumerations.html#GravityType">GravityType</a>
- gravity_
- </font>
- </td>
- <td>
- <font size="-1">
- Annotate using specified text, bounding area,
- and placement gravity. If <i>boundingArea_</i> is invalid, then
- bounding area is entire image.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const std::string &text_, const <a href="Geometry.html">Geometry</a> &boundingArea_, <a href="https://imagemagick.org/Magick++/Enumerations.html#GravityType">GravityType</a> gravity_, double
- degrees_, 
- </font>
- </td>
- <td>
- <font size="-1">
- Annotate with text using specified text,
- bounding area, placement gravity, and rotation. If <i>boundingArea_</i>
- is invalid, then bounding area is entire image.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const std::string &text_, <a href="https://imagemagick.org/Magick++/Enumerations.html#GravityType">GravityType</a> gravity_
- </font>
- </td>
- <td>
- <font size="-1">
- Annotate with text (bounding area is entire
- image) and placement gravity.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="blur"></a> <font size="-1">blur</font></center>
- </td>
- <td>
- <font size="-1">
- const double radius_ = 1, const double sigma_
- = 0.5
- </font>
- </td>
- <td>
- <font size="-1">
- Blur image. The <i>radius_ </i>parameter
- specifies the radius of the Gaussian, in pixels, not counting the
- center
- pixel.  The <i>sigma_</i> parameter specifies the standard
- deviation of the Laplacian, in pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="blurChannel"></a>blurChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel_, const double radius_ = 0.0, const double sigma_ = 1.0<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <font size="-1">
- Blur an image
- channel. The <span style="font-style: italic;">channel_</span>
- parameter specifies the channel to blur. The <i>radius_ </i>parameter
- specifies the radius of the Gaussian, in pixels, not counting the
- center
- pixel.  The <i>sigma_</i> parameter specifies the standard
- deviation of the Laplacian, in pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="border"></a> <font size="-1">border</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_ = "6x6+0+0"
- </font>
- </td>
- <td>
- <font size="-1">
- Border image (add border to image).  The
- color of the border is specified by the <i>borderColor</i> attribute.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="cdl"></a> <font size="-1">cdl</font></center>
- </td>
- <td><font size="-1">const std::string &cdl_</font></td>
- <td><font size="-1">color correct with a color decision list. See <a href="http://en.wikipedia.org/wiki/ASC_CDL">http://en.wikipedia.org/wiki/ASC_CDL</a> for details.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="channel"></a> <font size="-1">channel</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ChannelType">ChannelType</a>
- layer_
- </font>
- </td>
- <td>
- <font size="-1">
- Extract channel from image. Use this option
- to extract a particular channel from  the image.  <i>alphaChannel</i>
-   for  example, is useful for extracting the opacity values
- from an image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="charcoal"></a> <font size="-1">charcoal</font></center>
- </td>
- <td>
- <font size="-1">
- const double radius_ = 1, const double sigma_
- = 0.5
- </font>
- </td>
- <td>
- <font size="-1">
- Charcoal effect image (looks like charcoal
- sketch). The <i>radius_</i> parameter specifies the radius of the
- Gaussian, in pixels, not counting the center pixel.  The <i>sigma_</i>
- parameter specifies the standard deviation of the Laplacian, in pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="chop"></a> <font size="-1">chop</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_
- </font>
- </td>
- <td>
- <font size="-1">
- Chop image (remove vertical or horizontal
- subregion of image)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="colorize"></a> <font size="-1">colorize</font></center>
- </td>
- <td>
- <font size="-1">
- const unsigned int opacityRed_, const
- unsigned int opacityGreen_, const unsigned int opacityBlue_, const
- Color &penColor_
- </font>
- </td>
- <td>
- <font size="-1">
- Colorize image with pen color, using
- specified percent opacity for red, green, and blue quantums.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="colorMatrix"></a> <font size="-1">colorMatrix</font></center>
- </td>
- <td><font size="-1">const size_t order_, const double *color_matrix_</font></td>
- <td><font size="-1">apply color correction to the image.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="comment"></a> <font size="-1">comment</font></center>
- </td>
- <td><font size="-1">const std::string &comment_</font></td>
- <td>
- <font size="-1">
- Comment image (add comment string to
- image).  By default, each image is commented with its file name.
- Use  this  method to  assign a specific comment to the
- image.  Optionally you can include the image filename, type,
- width, height, or other  image  attributes by embedding <a href="https://imagemagick.org/Magick++/FormatCharacters.html">special format characters.</a>
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" valign="middle">
- <font size="-1">
- <a name="compare"></a> compare<br />
- </font>
- </td>
- <td valign="middle">
- <font size="-1">
- const Image &reference_<br />
- </font>
- </td>
- <td valign="top">
- <font size="-1">
- Compare current image with
- another image. Sets <a href="Image++.html#meanErrorPerPixel">meanErrorPerPixel</a>
- , <a href="Image++.html#normalizedMaxError">normalizedMaxError</a> , and <a href="Image++.html#normalizedMeanError">normalizedMeanError</a> in the current
- image. False is returned if the images are identical. An ErrorOption
- exception is thrown if the reference image columns, rows, colorspace,
- or
- matte differ from the current image.
- </font><br />
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="3">
- <center><a name="composite"></a> <font size="-1">composite</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Image++.html">Image</a>
- &compositeImage_, ssize_t xOffset_, ssize_t yOffset_, <a href="https://imagemagick.org/Magick++/Enumerations.html#CompositeOperator">CompositeOperator</a>
- compose_ = <i>InCompositeOp</i>
- </font>
- </td>
- <td>
- <font size="-1">
- Compose an image onto the current image at
- offset specified by <i>xOffset_</i>, <i>yOffset_ </i>using the
- composition algorithm specified by <i>compose_</i>. 
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Image++.html">Image</a>
- &compositeImage_, const <a href="Geometry.html">Geometry</a>
- &offset_, <a href="https://imagemagick.org/Magick++/Enumerations.html#CompositeOperator">CompositeOperator</a>
- compose_ = <i>InCompositeOp</i>
- </font>
- </td>
- <td>
- <font size="-1">
- Compose an image onto the current image at
- offset specified by <i>offset_</i> using the composition algorithm
- specified by <i>compose_</i> . 
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Image++.html">Image</a>
- &compositeImage_, <a href="https://imagemagick.org/Magick++/Enumerations.html#GravityType">GravityType</a>
- gravity_, <a href="https://imagemagick.org/Magick++/Enumerations.html#CompositeOperator">CompositeOperator</a>
- compose_ = <i>InCompositeOp</i>
- </font>
- </td>
- <td>
- <font size="-1">
- Compose an image onto the current image with
- placement specified by <i>gravity_ </i>using the composition
- algorithm
- specified by <i>compose_</i>. 
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="contrast"></a> <font size="-1">contrast</font></center>
- </td>
- <td><font size="-1">size_t sharpen_</font></td>
- <td>
- <font size="-1">
- Contrast image (enhance intensity differences
- in image)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="convolve"></a> <font size="-1">convolve</font></center>
- </td>
- <td><font size="-1">size_t order_, const double *kernel_</font></td>
- <td>
- <font size="-1">
- Convolve image.  Applies a user-specfied
- convolution to the image. The <i>order_</i> parameter represents the
- number of columns and rows in the filter kernel, and <i>kernel_</i>
- is a two-dimensional array of doubles representing the convolution
- kernel to apply.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="crop"></a> <font size="-1">crop</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_
- </font>
- </td>
- <td><font size="-1">Crop image (subregion of original image)</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="cycleColormap"></a> <font size="-1">cycleColormap</font></center>
- </td>
- <td><font size="-1">int amount_</font></td>
- <td><font size="-1">Cycle image colormap</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="despeckle"></a> <font size="-1">despeckle</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">Despeckle image (reduce speckle noise)</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="display"></a> <font size="-1">display</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">Display image on screen.</font> <br />
- <font size="-1">
- <b><font color="#ff0000">Caution: </font></b> if
- an image format is not compatible with the display visual (e.g.
- JPEG on a colormapped display) then the original image will be
- altered. Use a copy of the original if this is a problem.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="distort"></a> <font size="-1">distort</font></center>
- </td>
- <td><font size="-1">const DistortImageMethod method, const size_t number_arguments, const double *arguments, const bool bestfit = false </font></td>
- <td>
- <font size="-1">
- Distort image.  Applies a user-specfied
- distortion to the image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="2">
- <center><a name="draw"></a> <font size="-1">draw</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Drawable.html">Drawable</a>
- &drawable_
- </font>
- </td>
- <td><font size="-1">Draw shape or text on image.</font></td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const std::list<<a href="Drawable.html">Drawable</a>
- > &drawable_
- </font>
- </td>
- <td>
- <font size="-1">
- Draw shapes or text on image using a set of
- Drawable objects contained in an STL list. Use of this method improves
- drawing performance and allows batching draw objects together in a
- list for repeated use.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="edge"></a> <font size="-1">edge</font></center>
- </td>
- <td><font size="-1">size_t radius_ = 0.0</font></td>
- <td>
- <font size="-1">
- Edge image (hilight edges in image). 
- The radius is the radius of the pixel neighborhood.. Specify a radius
- of zero for automatic radius selection.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="emboss"></a> <font size="-1">emboss</font></center>
- </td>
- <td>
- <font size="-1">
- const double radius_ = 1, const double sigma_
- = 0.5
- </font>
- </td>
- <td>
- <font size="-1">
- Emboss image (hilight edges with 3D effect).
- The <i> radius_</i> parameter specifies the radius of the Gaussian, in
- pixels, not counting the center pixel.  The <i>sigma_</i>
- parameter specifies the standard deviation of the Laplacian, in pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="enhance"></a> <font size="-1">enhance</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">Enhance image (minimize noise)</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="equalize"></a> <font size="-1">equalize</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">Equalize image (histogram equalization)</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="erase"></a> <font size="-1">erase</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Set all image pixels to the current
- background color.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="4">
- <center><a name="extent"></a> <font size="-1">extent</font></center>
- </td>
- <td><font size="-1">const <a href="Geometry.html"> Geometry</a> &geometry_</font></td>
- <td rowspan="2"><font size="-1">extends the image as defined by the geometry, gravity, and image background color.</font></td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_, const <a href="Color.html">Color</a> &backgroundColor_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html"> Geometry</a> &geometry_, const <a href="https://imagemagick.org/Magick++/Enumerations.html#GravityType">GravityType</a>
- &gravity_
- </font>
- </td>
- <td rowspan="2"><font size="-1">extends the image as defined by the geometry, gravity, and image background color.</font></td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_, const <a href="Color.html">Color</a> &backgroundColor_,
- const <a href="https://imagemagick.org/Magick++/Enumerations.html#GravityType">GravityType</a> &gravity_
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="flip"></a> <font size="-1">flip</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Flip image (reflect each scanline in the
- vertical direction)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="4">
- <center>
- <a name="floodFillColor"></a> <font size="-1">floodFill-</font>
- <br />
- <font size="-1">Color</font>
- </center>
- </td>
- <td>
- <font size="-1">
- ssize_t x_, ssize_t y_, const <a href="Color.html">Color</a> &fillColor_
- </font>
- </td>
- <td rowspan="2">
- <font size="-1">
- Flood-fill color across pixels
- that match the color of the target pixel and are neighbors of the
- target pixel. Uses current fuzz setting when determining color match.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &point_, const <a href="Color.html">Color</a> &fillColor_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- ssize_t x_, ssize_t y_, const <a href="Color.html">Color</a> &fillColor_, const <a href="Color.html">Color</a>
- &borderColor_
- </font>
- </td>
- <td rowspan="2">
- <font size="-1">
- Flood-fill color across pixels
- starting at target-pixel and stopping at pixels matching specified
- border color. Uses current fuzz setting when determining color match.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &point_, const <a href="Color.html">Color</a> &fillColor_,
- const <a href="Color.html">Color</a> &borderColor_
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <a name="floodFillOpacity"></a> <font size="-1">floodFillOpacity</font>
- </td>
- <td>
- <font size="-1">
- const long x_, const long y_, const unsigned int
- opacity_, const PaintMethod method_
- </font>
- </td>
- <td>
- <font size="-1">
- Floodfill pixels matching color (within fuzz
- factor) of target pixel(x,y) with replacement opacity value using
- method.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="4">
- <center>
- <a name="floodFillTexture"></a> <font size="-1">floodFill-</font>
- <br />
- <font size="-1">Texture</font>
- </center>
- </td>
- <td>
- <font size="-1">
- ssize_t x_, ssize_t y_,  const
- Image &texture_
- </font>
- </td>
- <td rowspan="2">
- <font size="-1">
- Flood-fill texture across pixels
- that match the color of the target pixel and are neighbors of the
- target pixel. Uses current fuzz setting when determining color match.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &point_, const Image &texture_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- ssize_t x_, ssize_t y_, const Image
- &texture_, const <a href="Color.html">Color</a> &borderColor_
- </font>
- </td>
- <td rowspan="2">
- <font size="-1">
- Flood-fill texture across pixels
- starting at target-pixel and stopping at pixels matching specified
- border color. Uses current fuzz setting when determining color match.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &point_, const Image &texture_, const <a href="Color.html">
- Color
- </a>
- &borderColor_
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="flop"></a> <font size="-1">flop</font></center>
- </td>
- <td><font size="-1">void </font></td>
- <td>
- <font size="-1">
- Flop image (reflect each scanline in the
- horizontal direction)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="2">
- <center><a name="frame"></a> <font size="-1">frame</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_ = "25x25+6+6"
- </font>
- </td>
- <td rowspan="2"><font size="-1">Add decorative frame around image</font></td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- size_t width_, size_t height_,
- ssize_t x_, ssize_t y_, ssize_t innerBevel_ = 0, ssize_t outerBevel_ = 0
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="fx"></a> <font size="-1">fx</font></center>
- </td>
- <td><font size="-1">const std::string expression, const Magick::ChannelType channel</font></td>
- <td>
- <font size="-1">
- Fx image.  Applies a mathematical
- expression to the image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="2">
- <center><a name="gamma"></a> <font size="-1">gamma</font></center>
- </td>
- <td><font size="-1">double gamma_</font></td>
- <td>
- <font size="-1">
- Gamma correct image (uniform red, green, and
- blue correction).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- double gammaRed_, double gammaGreen_, double
- gammaBlue_
- </font>
- </td>
- <td>
- <font size="-1">
- Gamma correct red, green, and blue channels
- of image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="gaussianBlur"></a> <font size="-1">gaussianBlur</font></center>
- </td>
- <td><font size="-1">const double width_, const double sigma_</font></td>
- <td>
- <font size="-1">
- Gaussian blur image. The number of neighbor
- pixels to be included in the convolution mask is specified by
- 'width_'.  For example, a width of one gives a (standard) 3x3
- convolution mask. The standard deviation of the gaussian bell curve is
- specified by 'sigma_'.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="gaussianBlurChannel"></a>gaussianBlurChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel_, const double radius_ = 0.0, const double sigma_ = 1.0<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <font size="-1">
- Gaussian blur
- an image channel.
- </font><font size="-1">
- The <span style="font-style: italic;">channel_</span> parameter specifies the
- channel to blur.
- </font><font size="-1">
- The number of neighbor
- pixels to be included in the convolution mask is specified by
- 'width_'.  For example, a width of one gives a (standard) 3x3
- convolution mask. The standard deviation of the gaussian bell curve is
- specified by 'sigma_'.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" valign="middle">
- <font size="-1">
- <a name="haldClut"></a> haldClut<br />
- </font>
- </td>
- <td valign="middle">
- <font size="-1">
- const Image &reference_<br />
- </font>
- </td>
- <td valign="top">
- <font size="-1">apply a Hald color lookup table to the image.</font><br />
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="implode"></a> <font size="-1">implode</font></center>
- </td>
- <td><font size="-1">const double factor_</font></td>
- <td><font size="-1">Implode image (special effect)</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="inverseFourierTransform"></a> <font size="-1">inverseFourierTransform</font></center>
- </td>
- <td><font size="-1">const Image &phaseImage_, const bool magnitude_</font></td>
- <td><font size="-1">implements the inverse discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="label"></a> <font size="-1">label</font></center>
- </td>
- <td><font size="-1">const string &label_</font></td>
- <td>
- <font size="-1">
- Assign a label to an image. Use this option
- to  assign  a  specific label to the image. Optionally
- you can include the image filename, type, width, height, or scene
- number in the label by embedding  <a href="https://imagemagick.org/Magick++/FormatCharacters.html">
- special format characters.
- </a> If the first character of string is @,
- the
- image label is read from a file titled by the remaining characters in
- the string. When converting to Postscript, use this  option to
- specify a header string to print above the image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top; text-align: center;">
- <small>
- <a name="level"></a>level<br />
- </small>
- </td>
- <td style="vertical-align: top;">
- <small>
- const double black_point,
- const double white_point, const double mid_point=1.0<br />
- </small>
- </td>
- <td style="vertical-align: top;">
- <small>
- Level image. Adjust the
- levels of the image by scaling the colors falling between specified
- white and black points to the full available quantum range. The
- parameters provided represent the black, mid (gamma), and white
- points.  The black point specifies the darkest color in the image.
- Colors darker than the black point are set to zero. Mid point (gamma)
- specifies a gamma correction to apply to the image. White point
- specifies the lightest color in the image.  Colors brighter than
- the white point are set to the maximum quantum value. The black and
- white point have the valid range 0 to MaxRGB while mid (gamma) has a
- useful range of 0 to ten.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="levelChannel"></a>levelChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel, const double black_point, const double white_point, const
- double mid_point=1.0<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Level image channel.
- Adjust the levels of the image channel by scaling the values falling
- between specified white and black points to the full available quantum
- range. The parameters provided represent the black, mid (gamma), and
- white points. The black point specifies the darkest color in the image.
- Colors darker than the black point are set to zero. Mid point (gamma)
- specifies a gamma correction to apply to the image. White point
- specifies the lightest color in the image. Colors brighter than the
- white point are set to the maximum quantum value. The black and white
- point have the valid range 0 to MaxRGB while mid (gamma) has a useful
- range of 0 to ten.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="magnify"></a> <font size="-1">magnify</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">Magnify image by integral size</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="map"></a> <font size="-1">map</font></center>
- </td>
- <td>
- <font size="-1">
- const Image &mapImage_ , bool dither_ =
- false
- </font>
- </td>
- <td>
- <font size="-1">
- Remap image colors with closest color from
- reference image. Set dither_ to <i>true</i> in to apply
- Floyd/Steinberg
- error diffusion to the image. By default, color reduction chooses an
- optimal  set  of colors that best represent the original
- image. Alternatively, you can  choose  a 
- particular  set  of colors  from  an image file
- with this option.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="floodFillAlpha"></a> <font size="-1">floodFillAlpha</font></center>
- </td>
- <td>
- <font size="-1">
- const ssize_t x_, const ssize_t, const unsigned int  alpha_, const <a href="Color.html">Color</a> &target_, const bool invert_
- </font>
- </td>
- <td>
- <font size="-1">
- Floodfill designated area with a replacement alpha value.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <a name="medianFilter"></a> <font size="-1">medianFilter</font>
- </td>
- <td><font size="-1">const double radius_ = 0.0</font></td>
- <td>
- <font size="-1">
- Filter image by replacing each pixel
- component with the median color in a circular neighborhood
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="mergeLayers"></a> <font size="-1">mergeLayers</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#LayerMethod">LayerMethod</a>
- noiseType_
- </font>
- </td>
- <td><font size="-1">handle multiple images forming a set of image layers or animation frames.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="minify"></a> <font size="-1">minify</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">Reduce image by integral size</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <a name="modifyImage"></a> <font size="-1">modifyImage</font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Prepare to update image. Ensures that there
- is only one reference to the underlying image so that the underlying
- image may be safely modified without effecting previous generations of
- the image. Copies the underlying image to a new image if necessary.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="modulate"></a> <font size="-1">modulate</font></center>
- </td>
- <td>
- <font size="-1">
- double brightness_, double saturation_,
- double hue_
- </font>
- </td>
- <td>
- <font size="-1">
- Modulate percent hue, saturation, and
- brightness of an image. Modulation of saturation and brightness is as a
- ratio of the current value (1.0 for no change). Modulation of hue is an
- absolute rotation of -180 degrees to +180 degrees from the current
- position corresponding to an argument range of 0 to 2.0 (1.0 for no
- change).
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="motionBlur"></a>motionBlur<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const double radius_,
- const double sigma_, const double angle_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Motion blur image with
- specified blur factor. The radius_ parameter specifies the radius of
- the Gaussian, in pixels, not counting the center pixel.  The
- sigma_ parameter specifies the standard deviation of the Laplacian, in
- pixels. The angle_ parameter specifies the angle the object appears to
- be comming from (zero degrees is from the right).<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="negate"></a> <font size="-1">negate</font></center>
- </td>
- <td><font size="-1">bool grayscale_ = false</font></td>
- <td>
- <font size="-1">
- Negate colors in image.  Replace every
- pixel with its complementary color (white becomes black, yellow becomes
- blue, etc.).  Set grayscale to only negate grayscale values in
- image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="normalize"></a> <font size="-1">normalize</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Normalize image (increase contrast by
- normalizing the pixel values to span the full range of color values).
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="oilPaint"></a> <font size="-1">oilPaint</font></center>
- </td>
- <td><font size="-1">size_t radius_ = 3</font></td>
- <td><font size="-1">Oilpaint image (image looks like oil painting)</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="opacity"></a> <font size="-1">opacity</font></center>
- </td>
- <td><font size="-1">unsigned int opacity_</font></td>
- <td>
- <font size="-1">
- Set or attenuate the opacity channel in the
- image. If the image pixels are opaque then they are set to the
- specified
- opacity value, otherwise they are blended with the supplied opacity
- value.  The value of opacity_ ranges from 0 (completely opaque) to
- <i>MaxRGB</i>
- . The defines <i>OpaqueOpacity</i> and <i>TransparentOpacity</i> are
- available to specify completely opaque or completely transparent,
- respectively.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="opaque"></a> <font size="-1">opaque</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Color.html">Color</a>
- &opaqueColor_, const <a href="Color.html">Color</a> &penColor_
- </font>
- </td>
- <td>
- <font size="-1">
- Change color of pixels matching opaqueColor_
- to specified penColor_.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="2">
- <center><a name="ping"></a> <font size="-1">ping</font></center>
- </td>
- <td><font size="-1">const std::string &imageSpec_</font></td>
- <td rowspan="2">
- <font size="-1">
- Ping is similar to read
- except only enough of the image is read to determine the image columns,
- rows, and filesize.  The <a href="Image++.html#columns">columns</a>
- </font>,
- <font size="-1">
- <a href="Image++.html#rows">rows</a> , and <a href="Image++.html#fileSize">fileSize</a>
- attributes are valid after invoking ping.  The image data is not
- valid after calling ping.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">const Blob &blob_</font></td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="process"></a>process<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- std::string name_,
- const ssize_t argc_, char **argv_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Execute the named
- process module, passing any arguments via an argument vector, with
- argc_
- specifying the number of arguments in the vector, and argv_ passing the
- address of an array of null-terminated C strings which constitute the
- argument vector. An exception is thrown if the requested process module
- does not exist, fails to load, or fails during execution.
- </small><br />
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="quantize"></a> <font size="-1">quantize</font></center>
- </td>
- <td><font size="-1">bool measureError_ = false</font></td>
- <td>
- <font size="-1">
- Quantize image (reduce number of colors). Set
- measureError_ to true in order to calculate error attributes.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="raise"></a> <font size="-1">raise</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_ = "6x6+0+0",  bool raisedFlag_ =  false
- </font>
- </td>
- <td>
- <font size="-1">
- Raise image (lighten or darken the edges of
- an image to give a 3-D raised or lowered effect)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="8">
- <center><a name="read"></a> <font size="-1">read</font></center>
- </td>
- <td><font size="-1">const string &imageSpec_</font></td>
- <td><font size="-1">Read image into current object</font></td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &size_, const std::string &imageSpec_
- </font>
- </td>
- <td>
- <font size="-1">
- Read image of specified size into current
- object. This form is useful for images that do not specifiy their size
- or to specify a size hint for decoding an image. For example, when
- reading a Photo CD, JBIG, or JPEG image, a size request causes the
- library to return an image which is the next resolution greater or
- equal to the specified size. This may result in memory and time savings.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">const <a href="Blob.html">Blob</a> &blob_</font></td>
- <td rowspan="5">
- <font size="-1">
- Read encoded image of specified
- size from an in-memory <a href="Blob.html">BLOB</a> into current
- object. Depending on the method arguments, the Blob size, depth, and
- format may also be specified. Some image formats require that size be
- specified. The default ImageMagick uses for depth depends on its
- Quantum size (8 or 16).  If ImageMagick's Quantum size does not
- match that of the image, the depth may need to be specified.
- ImageMagick can usually automagically detect the image's format.
- When
- a format can't be automagically detected, the format must be specified.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size_,
- size_t depth_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size_,
- size_t depth_, const string &magick_ 
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &blob_, const <a href="Geometry.html">Geometry</a> &size_,
- const
- string &magick_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const size_t width_, const size_t
- height_, std::string map_, const StorageType type_, const void *pixels_
- </font>
- </td>
- <td>
- <font size="-1">
- Read image based on an array of image pixels.
- The pixel data must be in scanline order top-to-bottom. The data can be
- character, short int, integer, float, or double. Float and double
- require the pixels to be normalized [0..1]. The other types are
- [0..MaxRGB].  For example, to create a 640x480 image from
- unsigned red-green-blue character data, use
- </font>
- <p>
- <font size="-1">
-   image.read( 640, 480, "RGB", CharPixel,
- pixels );
- </font>
- </p>
- <p>
- <font size="-1">The parameters are as follows:</font> <br />
-  
- </p>
- <table border="0" width="100%">
- <tbody>
- <tr>
- <td><font size="-1">width_</font></td>
- <td><font size="-1">Width in pixels of the image.</font></td>
- </tr>
- <tr>
- <td><font size="-1">height_</font></td>
- <td><font size="-1">Height in pixels of the image.</font></td>
- </tr>
- <tr>
- <td><font size="-1">map_</font></td>
- <td>
- <font size="-1">
- This character string can be any
- combination or order of R = red, G = green, B = blue, A = alpha, C =
- cyan, Y = yellow M = magenta, and K = black. The ordering reflects the
- order of the pixels in the supplied pixel array.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">type_</font></td>
- <td>
- <font size="-1">
- Pixel storage type (CharPixel,
- ShortPixel, IntegerPixel, FloatPixel, or DoublePixel)
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">pixels_</font></td>
- <td>
- <font size="-1">
- This array of values contain the pixel
- components as defined by the map_ and type_ parameters. The length of
- the arrays must equal the area specified by the width_ and height_
- values and type_ parameters.
- </font>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="reduceNoise"></a> <font size="-1">reduceNoise</font></center>
- </td>
- <td><font size="-1">const double order_</font></td>
- <td><font size="-1">reduce noise in image using a noise peak elimination filter.</font></td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="randomThreshold"></a>randomThreshold<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const Geometry
- &thresholds_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Random threshold the
- image. Changes the value of individual pixels based on the intensity of
- each pixel compared to a random threshold. The result is a
- low-contrast, two color image. The thresholds_ argument is a
- geometry containing LOWxHIGH thresholds. If the string contains
- 2x2, 3x3, or 4x4, then an ordered dither of order 2, 3, or 4 will be
- performed instead. This is a very fast alternative to 'quantize' based
- dithering.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="randomThresholdChannel"></a>randomThresholdChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const Geometry
- &thresholds_, const ChannelType channel_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Random threshold an
- image channel. Similar to <a href="Image++.html#randomThreshold">randomThreshold</a>()
- but restricted to the specified channel.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="roll"></a> <font size="-1">roll</font></center>
- </td>
- <td><font size="-1">int columns_, ssize_t rows_</font></td>
- <td>
- <font size="-1">
- Roll image (rolls image vertically and
- horizontally) by specified number of columnms and rows)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="rotate"></a> <font size="-1">rotate</font></center>
- </td>
- <td><font size="-1">double degrees_</font></td>
- <td>
- <font size="-1">
- Rotate image counter-clockwise by specified
- number of degrees.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="sample"></a> <font size="-1">sample</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_ 
- </font>
- </td>
- <td><font size="-1">Resize image by using pixel sampling algorithm</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="scale"></a> <font size="-1">scale</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_
- </font>
- </td>
- <td><font size="-1">Resize image by using simple ratio algorithm</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="segment"></a> <font size="-1">segment</font></center>
- </td>
- <td>
- <font size="-1">double clusterThreshold_ = 1.0,</font> <br />
- <font size="-1">double smoothingThreshold_ = 1.5</font>
- </td>
- <td>
- <font size="-1">
- Segment (coalesce similar image components)
- by analyzing the histograms of the color components and identifying
- units that are homogeneous with the fuzzy c-means technique. Also uses <i>quantizeColorSpace</i>
- and <i>verbose</i> image attributes. Specify <i> clusterThreshold_</i>
- ,
- as the number  of  pixels  each cluster  must
- exceed
- the cluster threshold to be considered valid. <i>SmoothingThreshold_</i>
- eliminates noise in the  second derivative of the histogram. As
- the
- value is  increased, you can  expect  a  smoother
- second derivative.  The default is 1.5.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="shade"></a> <font size="-1">shade</font></center>
- </td>
- <td>
- <font size="-1">double azimuth_ = 30, double elevation_ = 30,</font>
- <br />
- <font size="-1">bool colorShading_ = false</font>
- </td>
- <td>
- <font size="-1">
- Shade image using distant light source.
- Specify <i> azimuth_</i> and <i>elevation_</i> as the 
- position  of  the light source. By default, the shading
- results as a grayscale image.. Set c<i>olorShading_</i> to <i>true</i>
- to
- shade the red, green, and blue components of the image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="shadow"></a> <font size="-1">shadow</font></center>
- </td>
- <td>
- <font size="-1">
- const double percent_opacity = 80, const double sigma_
- = 0.5, const ssize_t x_ = 0, const ssize_t y_ = 0
- </font>
- </td>
- <td><font size="-1">simulate an image shadow</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="sharpen"></a> <font size="-1">sharpen</font></center>
- </td>
- <td>
- <font size="-1">
- const double radius_ = 1, const double sigma_
- = 0.5
- </font>
- </td>
- <td>
- <font size="-1">
- Sharpen pixels in image.  The <i>radius_</i>
- parameter specifies the radius of the Gaussian, in pixels, not counting
- the center pixel.  The <i>sigma_</i> parameter specifies the
- standard deviation of the Laplacian, in pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="sharpenChannel"></a>sharpenChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel_, const double radius_ = 0.0, const double sigma_ = 1.0<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <font size="-1">
- Sharpen pixel
- quantums in an image channel  The <span style="font-style: italic;">channel_</span> parameter specifies the
- channel to sharpen..  The <i>radius_</i>
- parameter specifies the radius of the Gaussian, in pixels, not counting
- the center pixel.  The <i>sigma_</i> parameter specifies the
- standard deviation of the Laplacian, in pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="shave"></a> <font size="-1">shave</font></center>
- </td>
- <td><font size="-1">const Geometry &geometry_</font></td>
- <td><font size="-1">Shave pixels from image edges.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="shear"></a> <font size="-1">shear</font></center>
- </td>
- <td><font size="-1">double xShearAngle_, double yShearAngle_</font></td>
- <td>
- <font size="-1">
- Shear image (create parallelogram by sliding
- image by X or Y axis).  Shearing slides one edge of an image along
- the X  or  Y axis,  creating  a
- parallelogram.  An X direction shear slides an edge along the X
- axis, while  a  Y  direction shear  slides 
- an edge along the Y axis.  The amount of the shear is controlled
- by a shear angle.  For X direction  shears,  x 
- degrees is measured relative to the Y axis, and similarly, for Y
- direction shears  y  degrees is measured relative to the X
- axis. Empty triangles left over from shearing the  image  are
- filled  with  the  color  defined as <i>borderColor</i>. 
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="solarize"></a> <font size="-1">solarize</font></center>
- </td>
- <td><font size="-1">double factor_ = 50.0</font></td>
- <td>
- <font size="-1">
- Solarize image (similar to effect seen when
- exposing a photographic film to light during the development process)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="splice"></a> <font size="-1">splice</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_
- </font>
- </td>
- <td><font size="-1">splice the background color into the image</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="spread"></a> <font size="-1">spread</font></center>
- </td>
- <td><font size="-1">size_t amount_ = 3</font></td>
- <td>
- <font size="-1">
- Spread pixels randomly within image by
- specified amount
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="stegano"></a> <font size="-1">stegano</font></center>
- </td>
- <td><font size="-1">const Image &watermark_</font></td>
- <td>
- <font size="-1">
- Add a digital watermark to the image (based
- on second image)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="sparseColor"></a> <font size="-1">sparseColor</font></center>
- </td>
- <td><font size="-1">const ChannelType channel, const SparseColorMethod method, const size_t number_arguments, const double *arguments </font></td>
- <td><font size="-1">Sparse color image, given a set of coordinates, interpolates the colors found at those coordinates, across the whole image, using various methods.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="statistics"></a> <font size="-1">statistics</font></center>
- </td>
- <td><font size="-1">ImageStatistics *statistics</font></td>
- <td><font size="-1">Obtain image statistics. Statistics are normalized to the range of 0.0 to 1.0 and are output to the specified ImageStatistics structure. The structure includes members maximum, minimum, mean, standard_deviation, and variance for each of these channels: red, green, blue, and opacity (e.g. statistics->red.maximum).</font></td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="stereo"></a> <font size="-1">stereo</font></center>
- </td>
- <td><font size="-1">const Image &rightImage_</font></td>
- <td>
- <font size="-1">
- Create an image which appears in stereo when
- viewed with red-blue glasses (Red image on left, blue on right)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="swirl"></a> <font size="-1">swirl</font></center>
- </td>
- <td><font size="-1">double degrees_</font></td>
- <td>
- <font size="-1">
- Swirl image (image pixels are rotated by
- degrees)
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="texture"></a> <font size="-1">texture</font></center>
- </td>
- <td><font size="-1">const Image &texture_</font></td>
- <td>
- <font size="-1">
- Layer a texture on pixels matching image
- background color.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="threshold"></a> <font size="-1">threshold</font></center>
- </td>
- <td><font size="-1">double threshold_</font></td>
- <td><font size="-1">Threshold image</font></td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="2">
- <center><a name="transform"></a> <font size="-1">transform</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &imageGeometry_
- </font>
- </td>
- <td rowspan="2">
- <font size="-1">
- Transform image based on image
- and crop geometries. Crop geometry is optional.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &imageGeometry_, const <a href="Geometry.html">Geometry</a>
- &cropGeometry_ 
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="transparent"></a> <font size="-1">transparent</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Color.html">Color</a>
- &color_
- </font>
- </td>
- <td>
- <font size="-1">
- Add alpha image to image, setting pixels
- matching color to transparent.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="trim"></a> <font size="-1">trim</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Trim edges that are the background color from
- the image.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="unsharpmask"></a> <font size="-1">unsharpmask</font></center>
- </td>
- <td>
- <font size="-1">
- double radius_, double sigma_, double
- amount_, double threshold_
- </font>
- </td>
- <td>
- <font size="-1">
- Sharpen the image using the unsharp mask
- algorithm. The <i>radius</i>_
- parameter specifies the radius of the Gaussian, in pixels, not
- counting the center pixel. The <i>sigma</i>_ parameter specifies the
- standard deviation of the Gaussian, in pixels. The <i>amount</i>_
- parameter specifies the percentage of the difference between the
- original and the blur image that is added back into the original. The <i>threshold</i>_
- parameter specifies the threshold in pixels needed to apply the
- diffence amount.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="unsharpmaskChannel"></a>unsharpmaskChannel<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel_, const double radius_, const double sigma_, const double
- amount_, const double threshold_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Sharpen an image
- channel using the unsharp mask algorithm. The <span style="font-style: italic;">channel_</span> parameter specifies the
- channel to sharpen.
- </small><font size="-1">
- The <i>radius</i>_
- parameter specifies the radius of the Gaussian, in pixels, not
- counting the center pixel. The <i>sigma</i>_ parameter specifies the
- standard deviation of the Gaussian, in pixels. The <i>amount</i>_
- parameter specifies the percentage of the difference between the
- original and the blur image that is added back into the original. The <i>threshold</i>_
- parameter specifies the threshold in pixels needed to apply the
- diffence amount.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="wave"></a> <font size="-1">wave</font></center>
- </td>
- <td>
- <font size="-1">
- double amplitude_ = 25.0, double wavelength_
- = 150.0
- </font>
- </td>
- <td><font size="-1">Alter an image along a sine wave.</font></td>
- </tr>
- <tr>
- <td style="text-align: center;" rowspan="5">
- <center><a name="write"></a> <font size="-1">write</font></center>
- </td>
- <td><font size="-1">const string &imageSpec_</font></td>
- <td>
- <font size="-1">
- Write image to a file using filename i<i>mageSpec_</i>
- .
- </font> <br />
- <font size="-1">
- <b><font color="#ff0000">Caution: </font></b> if
- an image format is selected which is capable of supporting fewer
- colors than the original image or quantization has been requested, the
- original image will be quantized to fewer colors. Use a copy of the
- original if this is a problem.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1"><a href="Blob.html">Blob</a> *blob_</font></td>
- <td rowspan="3">
- <font size="-1">
- Write image to a in-memory <a href="Blob.html">BLOB</a> stored in <i>blob_</i>. The <i>magick</i>_
- parameter specifies the image format to write (defaults to <a href="Image++.html#magick">magick</a> ). The depth_ parameter species the image
- depth (defaults to <a href="Image++.html#depth"> depth</a> ).
- </font> <br />
- <font size="-1">
- <b><font color="#ff0000">Caution: </font></b> if
- an image format is selected which is capable of supporting fewer
- colors than the original image or quantization has been requested, the
- original image will be quantized to fewer colors. Use a copy of the
- original if this is a problem.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- <a href="Blob.html">Blob</a> *blob_,
- std::string &magick_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- <a href="Blob.html">Blob</a> *blob_,
- std::string &magick_, size_t depth_
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <font size="-1">
- const ssize_t x_, const ssize_t y_, const size_t
- columns_, const size_t rows_, const std::string &map_,
- const StorageType type_, void *pixels_
- </font>
- </td>
- <td>
- <font size="-1">
- Write pixel data into a buffer you supply.
- The data is saved either as char, short int, integer, float or double
- format in the order specified by the type_ parameter. For example, we
- want to extract scanline 1 of a 640x480 image as character data in
- red-green-blue order:
- </font>
- <p>
- <font size="-1">  image.write(0,0,640,1,"RGB",0,pixels);</font>
- </p>
- <p>
- <font size="-1">The parameters are as follows:</font> <br />
-  
- </p>
- <table border="0" width="100%">
- <tbody>
- <tr>
- <td><font size="-1">x_</font></td>
- <td>
- <font size="-1">
- Horizontal ordinate of left-most
- coordinate of region to extract.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">y_</font></td>
- <td>
- <font size="-1">
- Vertical ordinate of top-most
- coordinate of region to extract.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">columns_</font></td>
- <td>
- <font size="-1">
- Width in pixels of the region to
- extract.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">rows_</font></td>
- <td>
- <font size="-1">
- Height in pixels of the region to
- extract.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">map_</font></td>
- <td>
- <font size="-1">
- This character string can be any
- combination or order of R = red, G = green, B = blue, A = alpha, C =
- cyan, Y = yellow, M = magenta, and K = black. The ordering reflects
- the order of the pixels in the supplied pixel array.
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">type_</font></td>
- <td>
- <font size="-1">
- Pixel storage type (CharPixel,
- ShortPixel, IntegerPixel, FloatPixel, or DoublePixel)
- </font>
- </td>
- </tr>
- <tr>
- <td><font size="-1">pixels_</font></td>
- <td>
- <font size="-1">
- This array of values contain the pixel
- components as defined by the map_ and type_ parameters. The length of
- the arrays must equal the area specified by the width_ and height_
- values and type_ parameters.
- </font>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="resize"></a> <font size="-1">resize</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_
- </font>
- </td>
- <td><font size="-1">Resize image to specified size.</font></td>
- </tr>
- </tbody>
- </table>
- <center>
- <h3> <a name="Image Attributes"></a> Image Attributes</h3>
- </center>
- Image attributes are set and obtained via methods in Image. Except for
- methods which accept pointer arguments (e.g. c<tt>hromaBluePrimary)</tt>
- all methods return attributes by value.
- <p>
- Image attributes are easily used. For example, to set the resolution
- of the TIFF file "file.tiff" to 150 dots-per-inch (DPI) in both the
- horizontal and vertical directions, you can use the following example
- code:
- </p>
- <pre class="code">
- string filename("file.tiff");
- Image image;
- image.read(filename);
- image.resolutionUnits(PixelsPerInchResolution);
- image.density(Geometry(150,150)); // could also use image.density("150x150")
- image.write(filename)
- </pre>
- The supported image attributes and the method arguments required to
- obtain them are shown in the following table: <br />
-  
- <table border="1">
- <caption>Image Attributes</caption>
- <tbody>
- <tr>
- <td>
- <center><b>Function</b></center>
- </td>
- <td>
- <center><b>Type</b></center>
- </td>
- <td>
- <center><b>Get Signature</b></center>
- </td>
- <td>
- <center><b>Set Signature</b></center>
- </td>
- <td>
- <center><b>Description</b></center>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="adjoin"></a> <font size="-1">adjoin</font></center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">bool flag_</font></td>
- <td><font size="-1">Join images into a single multi-image file.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="antiAlias"></a> <font size="-1">antiAlias</font></center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">bool flag_</font></td>
- <td>
- <font size="-1">
- Control antialiasing of rendered Postscript
- and Postscript or TrueType fonts. Enabled by default.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="animationDelay"></a> <font size="-1">animation-</font>
- <br />
- <font size="-1">Delay</font>
- </center>
- </td>
- <td><font size="-1">size_t (0 to 65535)</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t delay_</font></td>
- <td>
- <font size="-1">
- Time in 1/100ths of a second (0 to 65535)
- which must expire before displaying the next image in an animated
- sequence. This option is useful for regulating the animation of a
- sequence  of GIF images within Netscape.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="animationIterations"></a> <font size="-1">animation-</font>
- <br />
- <font size="-1">Iterations</font>
- </center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t iterations_</font></td>
- <td>
- <font size="-1">
- Number of iterations to loop an animation
- (e.g. Netscape loop extension) for.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle; text-align: center;">
- <small>
- <a name="attribute"></a>attribute<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- string<br />
- </small>
- </td>
- <td style="vertical-align: top;" valign="top">
- <small>
- const
- std::string name_<br />
- </small>
- </td>
- <td style="vertical-align: top;" valign="top">
- <small>
- const
- std::string name_, const std::string value_
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- An arbitrary named
- image attribute. Any number of named attributes may be attached to the
- image. For example, the image comment is a named image attribute with
- the name "comment". EXIF tags are attached to the image as named
- attributes. Use the syntax "EXIF:<tag>" to request an EXIF tag
- similar to "EXIF:DateTime".
- </small><br />
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="backgroundColor"></a> <font size="-1">background-</font>
- <br />
- <font size="-1">Color</font>
- </center>
- </td>
- <td><font size="-1"><a href="Color.html">Color</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Color.html">Color</a>
- &color_
- </font>
- </td>
- <td><font size="-1">Image background color</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="backgroundTexture"></a> <font size="-1">background-</font>
- <br />
- <font size="-1">Texture</font>
- </center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &texture_</font></td>
- <td>
- <font size="-1">
- Image file name to use as the background
- texture. Does not modify image pixels.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="baseColumns"></a> <font size="-1">baseColumns</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Base image width (before transformations)</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="baseFilename"></a> <font size="-1">baseFilename</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Base image filename (before transformations)</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="baseRows"></a> <font size="-1">baseRows</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Base image height (before transformations)</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="borderColor"></a> <font size="-1">borderColor</font></center>
- </td>
- <td><font size="-1"><a href="Color.html">Color</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
-  const <a href="Color.html">Color</a>
- &color_
- </font>
- </td>
- <td><font size="-1">Image border color</font></td>
- </tr>
- <tr>
- <td style="vertical-align: middle;" valign="middle"><small><a name="boundingBox"></a>boundingBox<br /> </small></td>
- <td><font size="-1">Geometry</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- Return smallest bounding box enclosing
- non-border pixels. The current fuzz value is used when discriminating
- between pixels. This is the crop bounding box used by
- crop(Geometry(0,0)).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="boxColor"></a> <font size="-1">boxColor</font></center>
- </td>
- <td><font size="-1"><a href="Color.html">Color</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Color.html">Color</a>
- &boxColor_
- </font>
- </td>
- <td>
- <font size="-1">
- Base color that annotation text is rendered
- on.
- </font>
- </td>
- </tr>
- <tr>
- <td><a name="cacheThreshold"></a> <font size="-1">cacheThreshold</font></td>
- <td><font size="-1">size_t</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">const size_t</font></td>
- <td>
- <font size="-1">
- Pixel cache threshold in bytes. Once this
- threshold is exceeded, all subsequent pixels cache operations are
- to/from disk. This is a static method and the attribute it sets is
- shared by all Image objects.
- </font>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle;" valign="middle">
- <small>
- <a name="channelDepth"></a>channelDepth<br />
- </small>
- </td>
- <td style="vertical-align: middle;" valign="middle">
- <small>
- size_t
- <br />
- </small>
- </td>
- <td style="vertical-align: middle;" valign="middle">
- <small>
- const
- ChannelType channel_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const ChannelType
- channel_, const size_t depth_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Channel modulus depth.
- The channel modulus depth represents the minimum number of bits
- required
- to support the channel without loss. Setting the channel's modulus
- depth
- modifies the channel (i.e. discards resolution) if the requested
- modulus
- depth is less than the current modulus depth, otherwise the channel is
- not altered. There is no attribute associated with the modulus depth so
- the current modulus depth is obtained by inspecting the pixels. As a
- result, the depth returned may be less than the most recently set
- channel depth. Subsequent image processing may result in increasing the
- channel depth.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: middle;" valign="middle"><small><a name="channels"></a>channels<br /> </small></td>
- <td><font size="-1">size_t</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">const size_t</font></td>
- <td><font size="-1">NUmber of pixel channels.</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="chromaBluePrimary"></a> <font size="-1">chroma-</font>
- <br />
- <font size="-1">BluePrimary</font>
- </center>
- </td>
- <td><font size="-1">double x & y</font></td>
- <td><font size="-1">double *x_, double *y_</font></td>
- <td><font size="-1">double x_, double y_</font></td>
- <td>
- <font size="-1">
- Chromaticity blue primary point (e.g. x=0.15,
- y=0.06)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="chromaGreenPrimary"></a> <font size="-1">chroma-</font>
- <br />
- <font size="-1">GreenPrimary</font>
- </center>
- </td>
- <td><font size="-1">double x & y</font></td>
- <td><font size="-1">double *x_, double *y_</font></td>
- <td><font size="-1">double x_, double y_</font></td>
- <td>
- <font size="-1">
- Chromaticity green primary point (e.g. x=0.3,
- y=0.6)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="chromaRedPrimary"></a> <font size="-1">chroma-</font>
- <br />
- <font size="-1">RedPrimary</font>
- </center>
- </td>
- <td><font size="-1">double x & y</font></td>
- <td><font size="-1">double *x_, double *y_</font></td>
- <td><font size="-1">double x_, double y_</font></td>
- <td>
- <font size="-1">
- Chromaticity red primary point (e.g. x=0.64,
- y=0.33)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="chromaWhitePoint"></a> <font size="-1">chroma-</font>
- <br />
- <font size="-1">WhitePoint</font>
- </center>
- </td>
- <td><font size="-1">double x & y</font></td>
- <td><font size="-1">double*x_, double *y_</font></td>
- <td><font size="-1">double x_, double y_</font></td>
- <td>
- <font size="-1">
- Chromaticity white point (e.g. x=0.3127,
- y=0.329)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="classType"></a> <font size="-1">classType</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ClassType">ClassType</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
-  <a href="https://imagemagick.org/Magick++/Enumerations.html#ClassType">ClassType</a>
- class_
- </font>
- </td>
- <td>
- <font size="-1">
- Image storage class.  Note that
- conversion from a DirectClass image to a PseudoClass image may result
- in a loss of color due to the limited size of the palette (256 or
- 65535 colors).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="clipMask"></a> <font size="-1">clipMask</font></center>
- </td>
- <td><font size="-1">Image</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const Image &clipMask_</font></td>
- <td>
- <font size="-1">
- Associate a clip mask image with the current
- image. The clip mask image must have the same dimensions as the current
- image or an exception is thrown. Clipping occurs wherever pixels are
- transparent in the clip mask image. Clipping Pass an invalid image to
- unset an existing clip mask.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="colorFuzz"></a> <font size="-1">colorFuzz</font></center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">double fuzz_</font></td>
- <td>
- <font size="-1">
- Colors within this distance are considered
- equal. A number of algorithms search for a target  color. By
- default the color must be exact. Use this option to match colors that
- are close to the target color in RGB space.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="colorMap"></a> <font size="-1">colorMap</font></center>
- </td>
- <td><font size="-1"><a href="Color.html">Color</a> </font></td>
- <td><font size="-1">size_t index_</font></td>
- <td>
- <font size="-1">
- size_t index_, const <a href="Color.html">Color</a> &color_
- </font>
- </td>
- <td><font size="-1">Color at colormap index.</font></td>
- </tr>
- <tr>
- <td valign="middle">
- <div style="text-align:center">
- <a name="colorMapSize"></a> <font size="-1">
- colorMapSize<br />
- </font>
- </div>
- </td>
- <td valign="middle">
- <font size="-1">
- size_t<br />
- </font>
- </td>
- <td valign="middle">
- <font size="-1">
- void<br />
- </font>
- </td>
- <td valign="middle">
- <font size="-1">
- size_t entries_<br />
- </font>
- </td>
- <td valign="middle">
- <font size="-1">
- Number of entries in the
- colormap. Setting the colormap size may extend or truncate the
- colormap.
- The maximum number of supported entries is specified by the <i>MaxColormapSize</i>constant,
- and is dependent on the value of QuantumDepth when ImageMagick is
- compiled. An exception is thrown if more entries are requested than may
- be supported. Care should be taken when truncating the colormap to
- ensure that the image colormap indexes reference valid colormap entries.
- </font><br />
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="colorSpace"></a> <font size="-1">colorSpace</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ColorspaceType">ColorspaceType</a>
- colorSpace_
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ColorspaceType">ColorspaceType</a>
- colorSpace_
- </font>
- </td>
- <td>
- <font size="-1">
- The colorspace (e.g. CMYK) used to represent
- the image pixel colors. Image pixels are always stored as RGB(A) except
- for the case of CMY(K).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="columns"></a> <font size="-1">columns</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Image width</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="comment"></a> <font size="-1">comment</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Image comment</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="compose"></a> <font size="-1">compose</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#CompositeOperator">CompositeOperator</a>
- </font>
- </td>
- <td><small><font size="-1"><small>void</small></font></small></td>
- <td>
- <small>
- <font size="-1">
- <small>
- <a href="https://imagemagick.org/Magick++/Enumerations.html#CompositeOperator">CompositeOperator</a>
- compose_
- </small>
- </font>
- </small>
- </td>
- <td>
- <font size="-1">
- Composition operator to be used when
- composition is implicitly used (such as for image flattening).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="compressType"></a> <font size="-1">compress-</font>
- <br />
- <font size="-1">Type</font>
- </center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#CompressionType">CompressionType</a>
- </font>
- </td>
- <td><small><font size="-1"><small>void</small></font></small></td>
- <td>
- <small>
- <font size="-1">
- <small>
- <a href="https://imagemagick.org/Magick++/Enumerations.html#CompressionType">CompressionType</a>
- compressType_
- </small>
- </font>
- </small>
- </td>
- <td>
- <font size="-1">
- Image compresion type. The default is the
- compression type of the specified image file.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="debug"></a> <font size="-1">debug</font></center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><small><font size="-1"><small>void</small></font></small></td>
- <td><small><font size="-1"><small>bool flag_</small></font></small></td>
- <td>
- <font size="-1">
- Enable printing of internal debug messages
- from ImageMagick as it executes.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center; vertical-align: middle;">
- <small>
- <a name="defineValue"></a>defineValue<br />
- </small>
- </td>
- <td style="vertical-align: middle; text-align: left;">
- <small>
- string<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const std::string
- &magick_, const std::string &key_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const std::string
- &magick_, const std::string &key_,  const std::string
- &value_<br />
- </small>
- </td>
- <td style="vertical-align: top;">
- <small>
- Set or obtain a
- definition string to applied when encoding or decoding the specified
- format. The meanings of the definitions are format specific. The format
- is designated by the <span style="font-style: italic;">magick_</span>
- argument, the format-specific key is designated by <span style="font-style: italic;">key_</span>, and the associated value is
- specified by <span style="font-style: italic;">value_</span>. See the
- defineSet() method if the key must be removed entirely.
- </small><br />
- </td>
- </tr>
- <tr>
- <td style="text-align: center; vertical-align: middle;">
- <small>
- <a name="defineSet"></a>defineSet<br />
- </small>
- </td>
- <td style="vertical-align: middle; text-align: left;">
- <small>
- bool<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const std::string
- &magick_, const std::string &key_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- const std::string
- &magick_, const std::string &key_, bool flag_<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- Set or obtain a
- definition flag to applied when encoding or decoding the specified
- format.
- </small><small>
- . Similar to the defineValue() method except that
- passing the <span style="font-style: italic;">flag_</span> value
- 'true'
- creates a value-less define with that format and key. Passing the <span style="font-style: italic;">f</span><span style="font-style: italic;">lag_</span>
- value 'false' removes any existing matching definition. The method
- returns 'true' if a matching key exists, and 'false' if no matching key
- exists.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="density"></a> <font size="-1">density</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="Geometry.html">Geometry</a>  
- (default 72x72)
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &density_
- </font>
- </td>
- <td>
- <font size="-1">
- Vertical and horizontal resolution in pixels
- of the image. This option specifies an image density when decoding a
- Postscript or Portable Document page. Often used with <i>psPageSize</i>.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="depth"></a> <font size="-1">depth</font></center>
- </td>
- <td><font size="-1"> size_t (8-32)</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t depth_</font></td>
- <td>
- <font size="-1">
- Image depth. Used to specify the bit depth
- when reading or writing  raw images or when the output format
- supports multiple depths. Defaults to the quantum depth that
- ImageMagick is compiled with.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="endian"></a> <font size="-1">endian</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#EndianType">EndianType</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#EndianType">EndianType</a>
- endian_
- </font>
- </td>
- <td>
- <font size="-1">
- Specify (or obtain) endian option for formats
- which support it.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="directory"></a> <font size="-1">directory</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1"> </font></td>
- <td><font size="-1">Tile names from within an image montage</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="file"></a> <font size="-1">file</font></center>
- </td>
- <td><font size="-1">FILE *</font></td>
- <td><font size="-1">FILE *</font></td>
- <td><font size="-1">FILE *file_</font></td>
- <td><font size="-1">Image file descriptor.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="fileName"></a> <font size="-1">fileName</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &fileName_</font></td>
- <td><font size="-1">Image file name.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="fileSize"></a> <font size="-1">fileSize</font></center>
- </td>
- <td><font size="-1">off_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Number of bytes of the image on disk</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="fillColor"></a> <font size="-1">fillColor</font></center>
- </td>
- <td><font size="-1">Color</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const Color &fillColor_</font></td>
- <td><font size="-1">Color to use when filling drawn objects</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="fillPattern"></a> <font size="-1">fillPattern</font></center>
- </td>
- <td><font size="-1">Image</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const Image &fillPattern_</font></td>
- <td>
- <font size="-1">
- Pattern image to use when filling drawn
- objects.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="fillRule"></a> <font size="-1">fillRule</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#FillRule">FillRule</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const Magick::FillRule &fillRule_</font></td>
- <td><font size="-1">Rule to use when filling drawn objects.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="filterType"></a> <font size="-1">filterType</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#FilterTypes">FilterTypes</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#FilterTypes">FilterTypes</a>
- filterType_
- </font>
- </td>
- <td>
- <font size="-1">
- Filter to use when resizing image. The
- reduction filter employed has a sigificant effect on the time required
- to resize an image and the resulting quality. The default filter is <i>Lanczos</i>
- which has been shown to produce high quality results when reducing most
- images.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="font"></a> <font size="-1">font</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &font_</font></td>
- <td>
- <font size="-1">
- Text rendering font. If the font is a fully
- qualified X server font name, the font is obtained from an X 
- server. To use a TrueType font, precede the TrueType filename with an
- @. Otherwise, specify  a  Postscript font name (e.g.
- "helvetica").
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="fontPointsize"></a> <font size="-1">fontPointsize</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t pointSize_</font></td>
- <td><font size="-1">Text rendering font point size</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="fontTypeMetrics"></a> <font size="-1">fontTypeMetrics</font></center>
- </td>
- <td><font size="-1"><a href="TypeMetric.html">TypeMetric</a> </font></td>
- <td>
- <font size="-1">
- const std::string &text_, <a href="TypeMetric.html">TypeMetric</a> *metrics
- </font>
- </td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- Update metrics with font type metrics using
- specified <i>text</i>, and current <a href="Image++.html#font">font</a> and <a href="Image++.html#fontPointsize">fontPointSize</a> settings.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="format"></a> <font size="-1">format</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Long form image format description.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="gamma"></a> <font size="-1">gamma</font></center>
- </td>
- <td><font size="-1">double (typical range 0.8 to 2.3)</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- Gamma level of the image. The same color
- image displayed on two different  workstations  may 
- look  different due to differences in the display monitor. 
- Use gamma correction  to  adjust  for this 
- color  difference.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="geometry"></a> <font size="-1">geometry</font></center>
- </td>
- <td><font size="-1"><a href="Geometry.html">Geometry</a> </font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Preferred size of the image when encoding.</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="gifDisposeMethod"></a> <font size="-1">gifDispose-</font>
- <br />
- <font size="-1">Method</font>
- </center>
- </td>
- <td>
- <font size="-1">size_t</font> <br />
- <font size="-1">{ 0 = Disposal not specified,</font> <br />
- <font size="-1">1 = Do not dispose of graphic,</font> <br />
- <font size="-1">3 = Overwrite graphic with background color,</font>
- <br />
- <font size="-1">4 = Overwrite graphic with previous graphic. }</font>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t disposeMethod_</font></td>
- <td>
- <font size="-1">
- GIF disposal method. This option is used to
- control how successive frames are rendered (how the preceding frame is
- disposed of) when creating a GIF animation.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="iccColorProfile"></a> <font size="-1">iccColorProfile</font></center>
- </td>
- <td><font size="-1"><a href="Blob.html">Blob</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a>
- &colorProfile_
- </font>
- </td>
- <td>
- <font size="-1">
- ICC color profile. Supplied via a <a href="Blob.html">Blob</a> since Magick++/ and ImageMagick do not
- currently support formating this data structure directly. 
- Specifications are available from the <a href="http://www.color.org/">
- International Color Consortium
- </a> for the format of ICC color profiles.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="interlaceType"></a> <font size="-1">interlace-</font>
- <br />
- <font size="-1">Type</font>
- </center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#InterlaceType">InterlaceType</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#InterlaceType">InterlaceType</a>
- interlace_
- </font>
- </td>
- <td>
- <font size="-1">
- The type of interlacing scheme (default <i>NoInterlace</i>
- ). This option is used to specify the type of  interlacing
- scheme  for  raw  image formats such as RGB or YUV. <i>NoInterlace</i>
- means do not  interlace, <i>LineInterlace</i> uses scanline
- interlacing, and <i>PlaneInterlace</i> uses plane interlacing. <i>
- PartitionInterlace
- </i> is like <i>PlaneInterlace</i> except the 
- different planes  are saved  to individual files (e.g. 
- image.R, image.G, and image.B). Use <i>LineInterlace</i> or <i>
- PlaneInterlace
- </i> to create an interlaced GIF or progressive JPEG
- image.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="iptcProfile"></a> <font size="-1">iptcProfile</font></center>
- </td>
- <td><font size="-1"><a href="Blob.html">Blob</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Blob.html">Blob</a> &
- iptcProfile_
- </font>
- </td>
- <td>
- <font size="-1">
- IPTC profile. Supplied via a <a href="Blob.html">Blob</a> since Magick++ and ImageMagick do not
- currently  support formating this data structure directly.
- Specifications are available from the <a href="http://www.iptc.org/">
- International Press Telecommunications Council
- </a> for IPTC profiles.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="label"></a> <font size="-1">label</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &label_</font></td>
- <td><font size="-1">Image label</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="magick"></a> <font size="-1">magick</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1"> const string &magick_</font></td>
- <td><font size="-1">Get image format (e.g. "GIF")</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="alpha"></a> <font size="-1">alpha</font></center>
- </td>
- <td><font size="-1">const bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const bool alphaFlag_</font></td>
- <td>
- <font size="-1">
- Image supports transparency (alpha channel)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="matteColor"></a> <font size="-1">matteColor</font></center>
- </td>
- <td><font size="-1"><a href="Color.html">Color</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Color.html">Color</a>
- &matteColor_
- </font>
- </td>
- <td><font size="-1">Image matte (frame) color</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="meanErrorPerPixel"></a> <font size="-1">meanError-</font>
- <br />
- <font size="-1">PerPixel</font>
- </center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- The mean error per pixel computed when an
- image is color reduced. This parameter is only valid if verbose is set
- to true and the image has just been quantized.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center; vertical-align: middle;">
- <font size="-1">
- <a name="modulusDepth"></a>modulusDepth<br />
- </font>
- </td>
- <td style="text-align: left; vertical-align: middle;">
- <small>
- size_t
- <br />
- </small>
- </td>
- <td style="text-align: left; vertical-align: middle;">
- <small>
- <font size="-1">
- <small>
- void<br />
- </small>
- </font>
- </small>
- </td>
- <td style="text-align: left; vertical-align: middle;">
- <small>
- size_t
- depth_<br />
- </small>
- </td>
- <td style="text-align: left; vertical-align: middle;">
- <small>
- Image
- modulus depth (minimum number of bits required to support
- red/green/blue components without loss of accuracy). The pixel modulus
- depth may be decreased by supplying a value which is less than the
- current value, updating the pixels (reducing accuracy) to the new
- depth.
- The pixel modulus depth can not be increased over the current value
- using this method.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="monochrome"></a> <font size="-1">monochrome</font></center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">bool flag_</font></td>
- <td><font size="-1">Transform the image to black and white</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="montageGeometry"></a> <font size="-1">montage-</font>
- <br />
- <font size="-1">Geometry</font>
- </center>
- </td>
- <td><font size="-1"><a href="Geometry.html">Geometry</a> </font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- Tile size and offset within an image montage.
- Only valid for montage images.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="normalizedMaxError"></a> <font size="-1">normalized-</font>
- <br />
- <font size="-1">MaxError</font>
- </center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- The normalized max error per pixel computed
- when an image is color reduced. This parameter is only valid if verbose
- is set to true and the image has just been quantized.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="normalizedMeanError"></a> <font size="-1">normalized-</font>
- <br />
- <font size="-1">MeanError</font>
- </center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- The normalized mean error per pixel computed
- when an image is color reduced. This parameter is only valid if verbose
- is set to true and the image has just been quantized.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center; vertical-align: middle;">
- <small>
- <a name="orientation"></a>orientation<br />
- </small>
- </td>
- <td style="vertical-align: middle;">
- <small>
- <a href="https://imagemagick.org/Magick++/Enumerations.html#OrientationType">OrientationType</a>
- </small>
- </td>
- <td style="vertical-align: top;">
- <small>void</small><br />
- </td>
- <td style="vertical-align: middle;">
- <small>
- <a href="https://imagemagick.org/Magick++/Enumerations.html#OrientationType">OrientationType</a>
- orientation_
- </small>
- </td>
- <td style="vertical-align: top;">
- <small>
- Image orientation.
-  Supported by some file formats such as DPX and TIFF. Useful for
- turning the right way up.<br />
- </small>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="packets"></a> <font size="-1">packets</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">The number of runlength-encoded packets in</font>
- <br />
- <font size="-1">the image</font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="packetSize"></a> <font size="-1">packetSize</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">The number of bytes in each pixel packet</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="page"></a> <font size="-1">page</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="Geometry.html#PostscriptPageSize">Geometry</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Geometry.html#PostscriptPageSize">Geometry</a> &pageSize_
- </font>
- </td>
- <td>
- <font size="-1">
- Preferred size and location of an image
- canvas.
- </font>
- <p>
- <font size="-1">
- Use this option to specify the dimensions
- and position of the Postscript page in dots per inch or a TEXT page in
- pixels. This option is typically used in concert with <i>
- <a href="Image++.html#density">density</a>
- </i>.
- </font>
- </p>
- <p>
- <font size="-1">
- Page may also be used to position a GIF
- image (such as for a scene in an animation)
- </font>
- </p>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="pixelColor"></a> <font size="-1">pixelColor</font></center>
- </td>
- <td><font size="-1"><a href="Color.html">Color</a> </font></td>
- <td><font size="-1">ssize_t x_, ssize_t y_</font></td>
- <td>
- <font size="-1">
- ssize_t x_, ssize_t y_, const <a href="Color.html">Color</a> &color_
- </font>
- </td>
- <td><font size="-1">Get/set pixel color at location x & y.</font></td>
- </tr>
- <tr>
- <td valign="top">
- <div style="text-align:center">
- <a name="profile"></a> <small>profile</small><br />
- </div>
- </td>
- <td valign="top">
- <a href="Blob.html">
- <small> Blob</small><small>
- <br />
- </small>
- </a>
- </td>
- <td valign="top">
- <small>const std::string name_</small><small>
- <br />
- </small>
- </td>
- <td valign="top">
- <small>
- const std::string name_, const Blob
- &colorProfile_
- </small><small>
- <br />
- </small>
- </td>
- <td valign="top">
- <small>Get/set/remove </small><small>
- a named
- profile
- </small><small>. Valid names include </small><small>
- "*",
- "8BIM", "ICM", "IPTC", or a user/format-defined profile name.
- </small><br />
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="quality"></a> <font size="-1">quality</font></center>
- </td>
- <td><font size="-1">size_t (0 to 100)</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t quality_</font></td>
- <td><font size="-1">JPEG/MIFF/PNG compression level (default 75).</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="quantizeColors"></a> <font size="-1">quantize-</font>
- <br />
- <font size="-1">Colors</font>
- </center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t colors_</font></td>
- <td>
- <font size="-1">
- Preferred number of colors in the image. The
- actual number of colors in the image may be less than your request, but
- never more. Images with less unique colors than specified with this
- option will have any duplicate or unused colors removed.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="quantizeColorSpace"></a> <font size="-1">quantize-</font>
- <br />
- <font size="-1">ColorSpace</font>
- </center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ColorspaceType">ColorspaceType</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ColorspaceType">ColorspaceType</a>
- colorSpace_
- </font>
- </td>
- <td>
- <font size="-1">
- Colorspace to quantize colors in (default
- RGB). Empirical evidence suggests that distances in color spaces such
- as YUV or YIQ correspond to perceptual color differences more closely
- than do distances in RGB space. These color spaces may give better
- results when color reducing an image.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="quantizeDither"></a> <font size="-1">quantize-</font>
- <br />
- <font size="-1">Dither</font>
- </center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">bool flag_</font></td>
- <td>
- <font size="-1">
- Apply Floyd/Steinberg error diffusion to the
- image. The basic strategy of dithering is to  trade 
- intensity
- resolution  for  spatial  resolution  by 
- averaging the intensities  of  several 
- neighboring  pixels. Images which  suffer  from 
- severe  contouring  when  reducing colors can be
- improved with this option. The quantizeColors or monochrome option must
- be set for this option to take effect.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="quantizeTreeDepth"></a> <font size="-1">quantize-</font>
- <br />
- <font size="-1">TreeDepth</font>
- </center>
- </td>
- <td><font size="-1">size_t </font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t treeDepth_</font></td>
- <td>
- <font size="-1">
- Depth of the quantization color
- classification tree. Values of 0 or 1 allow selection of the optimal
- tree depth for the color reduction algorithm. Values between 2 and 8
- may be used to manually adjust the tree depth.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="renderingIntent"></a> <font size="-1">rendering-</font>
- <br />
- <font size="-1">Intent</font>
- </center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#RenderingIntent">RenderingIntent</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#RenderingIntent">RenderingIntent</a>
- render_
- </font>
- </td>
- <td><font size="-1">The type of rendering intent</font></td>
- </tr>
- <tr>
- <td>
- <center>
- <a name="resolutionUnits"></a> <font size="-1">resolution-</font>
- <br />
- <font size="-1">Units</font>
- </center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ResolutionType">ResolutionType</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ResolutionType">ResolutionType</a>
- units_
- </font>
- </td>
- <td><font size="-1">Units of image resolution</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="rows"></a> <font size="-1">rows</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">The number of pixel rows in the image</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="scene"></a> <font size="-1">scene</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t scene_</font></td>
- <td><font size="-1">Image scene number</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="signature"></a> <font size="-1">signature</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">bool force_ = false</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td>
- <font size="-1">
- Image MD5 signature. Set force_ to 'true' to
- force re-computation of signature.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="size"></a> <font size="-1">size</font></center>
- </td>
- <td><font size="-1"><a href="Geometry.html">Geometry</a> </font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- const <a href="Geometry.html">Geometry</a>
- &geometry_
- </font>
- </td>
- <td>
- <font size="-1">
- Width and height of a raw image (an image
- which does not support width and height information).  Size may
- also be used to affect the image size read from a multi-resolution
- format (e.g. Photo CD, JBIG, or JPEG.
- </font>
- </td>
- </tr>
- <tr>
- <td style="text-align: center;">
- <center><a name="strip"></a> <font size="-1">strip</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">strips an image of all profiles and comments.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeAntiAlias"></a> <font size="-1">strokeAntiAlias</font></center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">bool flag_</font></td>
- <td>
- <font size="-1">
- Enable or disable anti-aliasing when drawing
- object outlines.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeColor"></a> <font size="-1">strokeColor</font></center>
- </td>
- <td><font size="-1">Color</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const Color &strokeColor_</font></td>
- <td><font size="-1">Color to use when drawing object outlines</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeDashOffset"></a> <font size="-1">strokeDashOffset</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">double strokeDashOffset_</font></td>
- <td>
- <font size="-1">
- While drawing using a dash pattern, specify
- distance into the dash pattern to start the dash (default 0).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeDashArray"></a> <font size="-1">strokeDashArray</font></center>
- </td>
- <td><font size="-1">const double*</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const double* strokeDashArray_</font></td>
- <td>
- <font size="-1">
- Specify the pattern of dashes and gaps used
- to stroke paths. The strokeDashArray represents a zero-terminated
- array of numbers that specify the lengths (in pixels) of alternating
- dashes and gaps in user units. If an odd number of values is provided,
- then the list of values is repeated to yield an even number of
- values.  A typical strokeDashArray_ array might contain the
- members 5 3 2 0, where the zero value indicates the end of the pattern
- array.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeLineCap"></a> <font size="-1">strokeLineCap</font></center>
- </td>
- <td><font size="-1">LineCap</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">LineCap lineCap_</font></td>
- <td>
- <font size="-1">
- Specify the shape to be used at the corners
- of paths (or other vector shapes) when they are stroked. Values of
- LineJoin are UndefinedJoin, MiterJoin, RoundJoin, and BevelJoin.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeLineJoin"></a> <font size="-1">strokeLineJoin</font></center>
- </td>
- <td><font size="-1">LineJoin</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">LineJoin lineJoin_</font></td>
- <td>
- <font size="-1">
- Specify the shape to be used at the corners
- of paths (or other vector shapes) when they are stroked. Values of
- LineJoin are UndefinedJoin, MiterJoin, RoundJoin, and BevelJoin.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeMiterLimit"></a> <font size="-1">strokeMiterLimit</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t miterLimit_</font></td>
- <td>
- <font size="-1">
- Specify miter limit. When two line segments
- meet at a sharp angle and miter joins have been specified for
- 'lineJoin', it is possible for the miter to extend far beyond the
- thickness of the line stroking the path. The miterLimit' imposes a
- limit on the ratio of the miter length to the 'lineWidth'. The default
- value of this parameter is 4.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokeWidth"></a> <font size="-1">strokeWidth</font></center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">double strokeWidth_</font></td>
- <td>
- <font size="-1">
- Stroke width for use when drawing vector
- objects (default one)
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="strokePattern"></a> <font size="-1">strokePattern</font></center>
- </td>
- <td><font size="-1">Image</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const Image &strokePattern_</font></td>
- <td>
- <font size="-1">
- Pattern image to use while drawing object
- stroke (outlines).
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="subImage"></a> <font size="-1">subImage</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t subImage_</font></td>
- <td><font size="-1">Subimage of an image sequence</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="subRange"></a> <font size="-1">subRange</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">size_t subRange_</font></td>
- <td><font size="-1">Number of images relative to the base image</font></td>
- </tr>
- <tr>
- <td valign="middle">
- <div style="text-align:center">
- <a name="textEncoding"></a> <small>textEncoding</small><br />
- </div>
- </td>
- <td valign="middle">
- <small>string</small><small>
- <br />
- </small>
- </td>
- <td valign="middle">
- <small>void</small><small>
- <br />
- </small>
- </td>
- <td valign="middle">
- <small>const std::string &encoding_</small><small>
- <br />
- </small>
- </td>
- <td valign="top">
- <small>
- Specify the code set to use for text
- annotations. The only character encoding which may be specified at
- this time is "UTF-8" for representing
- </small><small>
- <a href="http://www.unicode.org/">Unicode</a>
- </small><small>
- as a
- sequence of bytes. Specify an empty string to use the default ASCII
- encoding. Successful text annotation using Unicode may require fonts
- designed to support Unicode.
- </small><br />
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="tileName"></a> <font size="-1">tileName</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &tileName_</font></td>
- <td><font size="-1">Tile name</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="totalColors"></a> <font size="-1">totalColors</font></center>
- </td>
- <td><font size="-1">size_t</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">Number of colors in the image</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="type"></a> <font size="-1">type</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ImageType">ImageType</a>
- </font>
- </td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#ffffff">
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#ImageType">ImageType</a>
- </font>
- </td>
- <td><font size="-1">Image type.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="verbose"></a> <font size="-1">verbose</font></center>
- </td>
- <td><font size="-1">bool</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">bool verboseFlag_</font></td>
- <td><font size="-1">Print detailed information about the image</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="view"></a> <font size="-1">view</font></center>
- </td>
- <td><font size="-1">string</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &view_</font></td>
- <td><font size="-1">FlashPix viewing parameters.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="virtualPixelMethod"></a> <font size="-1">virtualPixelMethod</font></center>
- </td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#VirtualPixelMethod">VirtualPixelMethod</a>
- </font>
- </td>
- <td><small><font size="-1"><small>void</small></font></small></td>
- <td>
- <small>
- <font size="-1">
- <small>
- <a href="https://imagemagick.org/Magick++/Enumerations.html#VirtualPixelMethod">VirtualPixelMethod</a>
- virtualPixelMethod_
- </small>
- </font>
- </small>
- </td>
- <td><font size="-1">Image virtual pixel method.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="x11Display"></a> <font size="-1">x11Display</font></center>
- </td>
- <td><font size="-1">string (e.g. "hostname:0.0")</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">const string &display_</font></td>
- <td>
- <font size="-1">
- X11 display to display to, obtain fonts from,
- or to capture image from
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="xResolution"></a> <font size="-1">xResolution</font></center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">x resolution of the image</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="yResolution"></a> <font size="-1">yResolution</font></center>
- </td>
- <td><font size="-1">double</font></td>
- <td><font size="-1">void</font></td>
- <td bgcolor="#666666"><font size="-1"> </font></td>
- <td><font size="-1">y resolution of the image</font></td>
- </tr>
- </tbody>
- </table>
- <center>
- <h3> <a name="Raw Image Pixel Access"></a> Low-Level Image Pixel Access</h3>
- </center>
- Image pixels (of type <i><a href="https://imagemagick.org/Magick++/Quantum.html">Quantum</a> </i>)
- may be accessed directly via the <i>Image Pixel Cache</i> .  The
- image pixel cache is a rectangular window into the actual image pixels
- (which may be in memory, memory-mapped from a disk file, or entirely on
- disk). Two interfaces exist to access the <i>Image Pixel Cache.</i>
- The
- interface described here (part of the <i>Image</i> class) supports
- only
- one view at a time. See the <i><a href="Pixels.html">Pixels</a> </i>
- class for a more abstract interface which supports simultaneous pixel
- views (up to the number of rows). As an analogy, the interface
- described
- here relates to the <i><a href="Pixels.html">Pixels</a> </i> class as
- stdio's gets() relates to fgets(). The <i>
- <a href="Pixels.html"> Pixels</a>
- </i>class provides the more general form of the interface.
- <p>
- Obtain existing image pixels via <i>getPixels()</i>. Create a new
- pixel region using <i>setPixels().</i>
- </p>
- <p>
- In order to ensure that only the current generation of the image is
- modified, the Image's <a href="Image++.html#modifyImage">modifyImage()</a> method
- should be invoked to reduce the reference count on the underlying image
- to one. If this is not done, then it is possible for a previous
- generation of the image to be modified due to the use of reference
- counting when copying or constructing an Image.<br />
- </p>
- <p>
- Depending on the capabilities of the operating system, and the
- relationship of the window to the image, the pixel cache may be a copy
- of the pixels in the selected window, or it may be the actual image
- pixels. In any case calling <i>syncPixels()</i> insures that the base
- image is updated with the contents of the modified pixel cache. The
- method <i> readPixels()</i> supports copying foreign pixel data
- formats
- into the pixel cache according to the <i>QuantumTypes</i>. The method <i>writePixels()</i>
- supports copying the pixels in the cache to a foreign pixel
- representation according to the format specified by <i>QuantumTypes</i>.
- </p>
- <p>
- The pixel region is effectively a small image in which the pixels
- may be accessed, addressed, and updated, as shown in the following
- example:
- </p>
- <pre class="code">
- <img class="icon" src="Cache.png" name="Graphic1" width="254" border="0" alt="cache" />
- Image image("cow.png");
- // Ensure that there are no other references to this image.
- image.modifyImage();
- // Set the image type to TrueColor DirectClass representation.
- image.type(TrueColorType);
- // Request pixel region with size 60x40, and top origin at 20x30
- ssize_t columns = 60;
- Quantum *pixel_cache = image.getPixels(20,30,columns,40);
- // Set pixel at column 5, and row 10 in the pixel cache to red.
- ssize_t column = 5;
- ssize_t row = 10;
- Quantum *pixel = pixel_cache+row*columns+column;
- *pixel = Color("red");
- // Save changes to underlying image .
- image.syncPixels();
- // Save updated image to file.
- image.write("horse.png");
- </pre>
- <p>
- The image cache supports the following methods: <br />
-  
- </p>
- <table border="1" width="100%">
- <caption>Image Cache Methods</caption>
- <tbody>
- <tr>
- <td>
- <center><b>Method</b></center>
- </td>
- <td>
- <center><b>Returns</b></center>
- </td>
- <td>
- <center><b>Signature</b></center>
- </td>
- <td>
- <center><b>Description</b></center>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="getConstPixels"></a> <font size="-1">getConstPixels</font></center>
- </td>
- <td>
- <font size="-1">
- const <a href="https://imagemagick.org/Magick++/Quantum.html">Quantum</a>
- *
- </font>
- </td>
- <td>
- <font size="-1">
- const ssize_t x_, const ssize_t y_, const size_t
- columns_, const size_t rows_
- </font>
- </td>
- <td>
- <font size="-1">
- Transfers pixels from the image to the pixel
- cache as defined by the specified rectangular region. 
- </font><font size="-1">
- The returned pointer remains valid until the next getPixel,
- getConstPixels, or setPixels call and should never be deallocated by
- the
- user.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="getConstMetacontent"></a> <font size="-1">getConstMetacontent</font></center>
- </td>
- <td><font size="-1">const void*</font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Returns a pointer to the Image pixel indexes
- corresponding to a previous
- </font><font size="-1">
- getPixel,
- getConstPixels, or setPixels call.  
- </font><font size="-1">
- The
- returned pointer remains valid until the next getPixel, getConstPixels,
- or setPixels call and should never be deallocated by the user.
- </font><font size="-1">
- Only valid for PseudoClass images or CMYKA images. The
- pixel indexes represent an array of type void, with each entry
- corresponding to an x,y pixel position. For PseudoClass images, the
- entry's value is the offset into the colormap (see <a href="Image++.html#colorMap">colorMap</a>
- ) for that pixel. For CMYKA images, the indexes are used to contain the
- alpha channel.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="getMetacontent"></a> <font size="-1">getMetacontent</font></center>
- </td>
- <td><font size="-1">void*</font></td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- Returns a pointer to the Image pixel meta content
- corresponding to the pixel region requested by the last <a href="Image++.html#getConstPixels">getConstPixels</a> , <a href="Image++.html#getPixels">getPixels</a>
- , or <a href="Image++.html#setPixels">setPixels</a> call.
- </font><font size="-1">
- The
- returned pointer remains valid until the next getPixel, getConstPixels,
- or setPixels call and should never be deallocated by the user.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="getPixels"></a> <font size="-1">getPixels</font></center>
- </td>
- <td><font size="-1"><a href="https://imagemagick.org/Magick++/Quantum.html">Quantum</a> *</font></td>
- <td>
- <font size="-1">
- const ssize_t x_, const ssize_t y_, const size_t
- columns_, const size_t rows_
- </font>
- </td>
- <td>
- <font size="-1">
- Transfers pixels from the image to the pixel
- cache as defined by the specified rectangular region. Modified pixels
- may be subsequently transferred back to the image via syncPixels.
- </font><font size="-1">
- The returned pointer remains valid until the next getPixel,
- getConstPixels, or setPixels call and should never be deallocated by
- the
- user.
- </font><font size="-1"></font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="setPixels"></a> <font size="-1">setPixels</font></center>
- </td>
- <td><font size="-1"><a href="https://imagemagick.org/Magick++/Quantum.html">Quantum</a> *</font></td>
- <td>
- <font size="-1">
- const ssize_t x_, const ssize_t y_, const size_t
- columns_, const size_t rows_
- </font>
- </td>
- <td>
- <font size="-1">
- Allocates a pixel cache region to store image
- pixels as defined by the region rectangle.  This area is
- subsequently transferred from the pixel cache to the image via
- syncPixels. 
- </font><font size="-1">
- The returned pointer remains
- valid until the next getPixel, getConstPixels, or setPixels call and
- should never be deallocated by the user.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="syncPixels"></a> <font size="-1">syncPixels</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">void</font></td>
- <td><font size="-1">Transfers the image cache pixels to the image.</font></td>
- </tr>
- <tr>
- <td>
- <center><a name="readPixels"></a> <font size="-1">readPixels</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#QuantumTypes">QuantumTypes</a>
- quantum_, unsigned char *source_,
- </font>
- </td>
- <td>
- <font size="-1">
- Transfers one or more pixel components from a
- buffer or file into the image pixel cache of an image. ReadPixels is
- typically used to support image decoders. The region transferred
- corresponds to the region set by a preceding setPixels call.
- </font>
- </td>
- </tr>
- <tr>
- <td>
- <center><a name="writePixels"></a> <font size="-1">writePixels</font></center>
- </td>
- <td><font size="-1">void</font></td>
- <td>
- <font size="-1">
- <a href="https://imagemagick.org/Magick++/Enumerations.html#QuantumTypes">QuantumTypes</a>
- quantum_, unsigned char *destination_
- </font>
- </td>
- <td>
- <font size="-1">
- Transfers one or more pixel components from
- the image pixel cache to a buffer or file. WritePixels is typically
- used to support image encoders. The region transferred corresponds to
- the region set by a preceding getPixels or getConstPixels call.
- </font>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </body>
- </html>
|