New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here

Introduction to Forest Management

by: Ms. Alene Howell

Introduction to Forest Management FOR 102

Marketplace > University of Idaho > Natural Resource Ecology And Mgmt > FOR 102 > Introduction to Forest Management
Ms. Alene Howell
GPA 3.99


Almost Ready


These notes were just uploaded, and will be ready to view shortly.

Purchase these notes here, or revisit this page.

Either way, we'll remind you when they're ready :)

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

Class Notes
25 ?




Popular in Course

Popular in Natural Resource Ecology And Mgmt

This 29 page Class Notes was uploaded by Ms. Alene Howell on Friday October 23, 2015. The Class Notes belongs to FOR 102 at University of Idaho taught by Staff in Fall. Since its upload, it has received 53 views. For similar materials see /class/227841/for-102-university-of-idaho in Natural Resource Ecology And Mgmt at University of Idaho.


Reviews for Introduction to Forest Management


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 10/23/15
Freelmage a free open source graphics library Documentation Library version 3110 Freelmage Contents 39 1 Foreword 1 Purpose of FreeTmaoe 1 Librarv referenee 7 Bitmap quot 3 General me nn g Freelmage Tni nli e g FreelmageineTni ali e 3 FreelmageiGerer inn 4 FreelmageiGetCmy 39 4 Freelmage QeK 4 Bitmap me nn s FreelmageiAHneme 5 Freelmage AHocateT 6 FreeImageiT 02d 7 Freelmage T nndU g Freelmage T oadFromT Tandle g Freelmage7 2ve g FreeIm a2e7 2veU 11 FreeIm a2e7 aveToHnndle 11 Freelmage lone 12 Freelmage Unlan 12 Bitman39 39 me nn 13 FreelmageiGetImageTvne 13 FreeImageiGetFnlnr U ed 13 Freelmage GetBPP 13 Freelmage GetWidth 13 FreeIm ageiGe Tei 9hr 1 3 Freelmagej re ine 14 FreelmageiGetPiteh 14 Freelmage GetDTRQi e 14 Freelmage GetPale e 14 FreelmageiGetDotsPe Tefer 15 FreeIm ageiGetDotsPerMeterY 1 S FreelmageisetDotsPe Tefer 15 FreeImage SetDotsPerMeterY 15 Freelmage quotretTnfoT Teader 15 FreeIm ageiae nfn 1 5 FreelmageiGetColorTvne 15 Freelmagei 1 16 Freelmage quot m H 16 Freelmage quot H 16 FreeIm ageiGetT mm 17 FreeIm ageiGetT Tahle 17 Freelmagei etT Table 17 FreeImage etTmn nm enf 1g Freelmage 3110 documentation List of tables Freelmage T Tran nm39cnt 1g Freelmage SetT 1g FreeIm ageiGetT 1 9 FreelmagejT quot oior 19 Freelmageiquot quot oior 19 Freelmage quot quot oior 19 FiletVDe function 70 FreelmageiGetFileTvnc 70 FreeIm ageiGetFileTvncU 70 FreelmageiGetFileT ueFromi Tandic 71 Freelmage GetFileT V F 71 Pixel access function 77 FreelmageiGctRit 73 Freelmagef rcticani inc 74 Freelmageiquot 39 75 Freelmage GctPi ciFoior 75 Freelmage SetPi ciTnde 75 FreelmageisetPi ciFoior 77 Conver ion function 7g FreelmageiConvertToARit 7g Freelmage ConvenToRRit 7g Freelmage onvertToGrcv cnic 7g FreelmageiConvenToi Rit SSS 79 FreelmageiConvenToi Rit S6S 79 FreelmageiConvenToMRit 79 Freelmage onvertTo WRit 79 Freelmage oiorOunnti c 79 FreelmageiFoiorOuanti H 30 FreelmageiThrc hnid 37 Freelmageinithcr 37 Freelmage F 39 37 Freelmage onvertToRawRit 33 FreeImageiConvenToStandardTvnc 33 FreelmageiConvenToTvnc 34 FreeIm agej onvertT oR GRF 34 Tone manning oncmtor gg Freelmage T H 39 33 FreelmageiTmoDmcoO i 35 FreelmageiT 39 quotS 35 FreelmageiTmoFatmiO 35 ICC profile function 37 Freelmage GctTFFProfiic 37 FreelmageiFrcntcTFFProfi1c 3g Freelmage Dc trovTC C meiic 3g Plugin function 7 3g Freelmage GetFIFFount 39 Freelmage Suu 39 F 39 Freelmageilsl 39 h 39 FreelmageiGetFIFFromF 3Q FreeIm ageiGetFIFF quot 40 Freelmage quot V quot Tvnc 40 Freelmage G I r W 40 Freelmageiquot WW 39 Ti t 40 Freelmagej Hm 39intinn 41 Freelmageiquot WV V 41 Freelmage G JET quot 4 Freelmage quot WV quot T 47 FreeIm ageiFI f quot 4 FreeIm ageiFI f ii 0 List of figures Freelmage 3110 documentation FreeImage RT Tvne 4 FreeImage RT F m 43 FreeImageiFW quot Pm 39le 44 FreeImageiRegi terT ocalthin 44 FreeImageiRe i terF ternale in 4 Multinage function 46 Freelmage 39 quot 45 FreeImageiF 39 quot 45 FreeImageiGetPacanunt 45 Freelmagei quot 46 FreeImage InsertPama 47 FreeImage DeletePaue 47 FreeImageiLockPaue 47 FreeImageiUnlocksze 47 FreelmageiMoverze 47 Freelmage Ge n L l T 47 Memorv IO frenm 4g Freelmagef 4g FreeImageiF 4g FreeImageiT 1 4g FreeImage QaveTnMemnrv so FreeImage 39 s1 FreeIm ageiT e1 lMem nrv g7 Fr661m3267QPPkkTemnrv 57 FreeImageJ J 53 FreeImaEe WriTeMemm39v a Freelmage T 1 39 39 I a nmnre ir m mc nn FreeImagei T thnmnre 55 Freelmagei T ihUncnmnre g FreeImage TihG in 56 FreeImage TthRFW 56 Freelmagei lihGUn in 57 Helper lm nn 5g FreeImageiT TittlePndian 5g Freelmage LookuDXllColor SR Freelmage LookuDSVGFnlnr 5g II A I A z A z T i9 FreeImage Tax 59 FreeIm age m etadata m ode 50 Tag creation and de fmc nn 67 FreeImage CreateTm 57 FreeImage DeleteTau 57 FreeImageiCloneTnc 57 Tag awe nr 53 FreelmageiGetTacKev 5g Freelmage GetTagDe crin nn 53 FreeImage GetTszD 53 FreeImageiGetTagTvne 63 FreeImaEeiGetTacC nunt 539 FreeIm ageiGetTauT enmh 5g FreeImage GetTagValue 53 FreeImage etTm ltev 64 FreeIma2e7 etTagDe crin nn 54 FreeImage QetTmTD 54 FreeImageisetTagTvne 54 Freelmage 3110 documentation List of tables iii Freelm age etTa umet 54 Freelmage etTasz encth 64 FreelmageisetTaEValue 6g Metadata iteratnr 66 FreelmageiFiud f39 t J t 55 Freelmage W J t t J t 55 Freelmage FindC t J t 66 lletarlata arm nr 67 Freelmageiquot t J t 57 Freelmagei t J t 57 Metadata helper function 69 Freelmage quot t J quotmmt 59 Freelmagej t J t 69 FreelmageiTagTOQtrina 59 Toolkit quot l 71 Rotation and flinnincr 71 FreelmageiRntateFla ie 71 Freelmage RntateP 72 Freelmage FlinT lori nntal 72 FreelmageiFlipVertit al 72 FreelmageilPEGTran form 73 Up amnlinc quot 74 Freelmage Re eale 74 Freelmage MakeThumhnail 75 C0101 I I 77 Freelmageilnvert 78 Freelmagej retl li tn ram 78 FreelmageiGetAdiu tC nlnr T nnklmTahle 79 Freelmage Adiu tFnlnr g0 Freelmage Annvaolori Tannin g0 Freelmage7 wanFnlnr m FreelmageiAW F Y 39 g1 Freelmageiswaul Y quot g7 Channel nrm e inc g3 Freelmage Gechannel g3 Freelmage7 echannel g3 FreelmageiGetannle hannel g3 Freelma2e7 et nmnle hannel g3 CopV Paste Composite routine g4 Freelmage nnv g4 Freelmageipa te g4 Freelmagej nmnn ite gg FreelmagejPPGFrnn g6 Freelmage 39 39 v vlL uAlnha g6 r quot algorithm g7 FreelmaaeiMulti ridI 39 g7 39 88 Supported file form at gg Choosing the right re amnling filter go Box filter g9 Bilinear filter R9 iv List of figures Freelmage 3110 documentation BSnline filter 89 Bicubic filter g9 F Mm D m filter g9 Lanczos filter R9 omnari on of resamnling method 90 Using the rotation ineti on 3 Freelmage RotateFla i 3 Freelm ageiR otateP g4 Freelm age m etadata m odel 95 FJMDfOMMPNTs 95 FlMD EXlF 95 FIMD IPTC 6 FEBin 95 FlMDiGEOTlFF 9g FlMDiANlMATTON 9g FIMD UTFOM 9g FIMD ANTMATTON metadata model 39 39 99 Tags relating to a single page or relating to page 0 of a multiDage animated file 1 Tags relating to each page including Dage 0 of a single page or a multinage animated file Additional notes GIF necifi 102 List of tables Table 1 FREEIMAGEFORMATS constants Freelmage format identifiers 5 Table 2 FREEIMAGETYPE constants Freelmage data type identifiers 7 Table 3 Optionnal decoder constants 8 Table 4 Optionnal encoder constants 11 Table 5 FREEIMAGECOLORTYPE constants 16 Table 6 Pixel access macros and associated masks for 24 or 32bit 2 images Table 7 FREEIMAGEQUANTIZE constants 29 Table 8 FREEIMAGEDITHER constants 32 Freelmage 3110 documentation List of tables v Table 9 Bitmap type conversions allowed by Freelmage 34 Table 10 FREEIMAGETMO constants 35 Table 11 Freelmage FITAG structure 59 Table 12 Freelmage tag data types FREEIMAGEMDTYPE identifier 60 Table 13 Metadata models supported by Freelmage 61 Table 14 FREEIMAGEJPEGOPERATION constants 73 Table 15 IMAGEFLTER constants 74 Table 16 FREEIMAGECOLORCHANNEL constants 77 Table 17 List of tag keys supported by the IPTC metadata model 97 List of figures Figure 1 Illustration of the FreelmageComposite function 85 Figure 2 Comparison of resampling filters on a 32x32 Lena image resized to 400 90 Figure 3 Comparison of resampling filters on a 40x46 Bikini image resized to 800 Figure 4 Parrot image rotated by 45 using FreelmageRotateClassic 93 Figure 5 Parrot image rotated by 90 using FreelmageRotateClassic 93 Figure 6 Some examples illustrating the use of FreelmageRotateEx 9 vi List of figures Freelmage 3110 documentation Freelmage 3110 documentation List of tables vii Introduction Foreword Thank you for downloading Freelmage a free and open source graphics library for Windows Linux and Mac OS X Freelmage is widely used and praised for its speed and simplicity It has been under development for more than 8 years Freelmage was created by Floris van den Berg It was originally developed to provide bitmap loading support to an authoring tool named the Magenta Multimedia Tool The major parts of the library were designed by Floris but in its long lifetime many people have contributed to Freelmage adding new features and helping to test the library Without the help of these people Freelmage wouldn t have been where it is now Anyone can contribute and post their changes and improvements and have them inserted in the main sources of course on the condition that developers agree on that the fixes are good The list of contributors in the Freelmageh header file is only a small part of all the people that every day provide us with bug reports suggestions ideas and source code In the middle of the year 2002 Floris stopped the development of the library Since this date the Freelmage Project continues to be developed and is maintained by Herve Drolon Purpose of Freelmage A clear picture about a project is important because it is that picture that defines which features are implemented and which are not Freelmage supports El Loading and saving of as many bitmap types as possible El Easy access to bitmap components such as palettes and data bits El Converting bitmap s bit depths from one to another El Accessing pages in a bitmap when there are multiple such as in TIFF El Basic manipulation of bitmaps such as rotation flipping and resampling or point operations such as brightness and contrast adjustment El Alpha compositing and alpha blending Freelmage does not support El Advanced image processing operations such as convolution and transforms El Bitmap drawing El Vector graphics Freelmage 3110 documentation Bitmap function reference a 1 Library reference Each function name in Freelmage starts with quotFreelmage FreelmageLoad FreelmageSave FreelmageUnload for instance A detailed description of each function supported by the Freelmage library is given in the Bitmap function reference Metadata function reference and Toolkit function reference chapters For each entry the function prototype is shown for CC and the function arguments and explanations are listed Throughout these chapters you will see numbers in colored boxes at the top of some functions These numbers indicate the pixel depth of the input image that the function can operate on This may be 1 4 8 16 24 32bit per pixel for standard bitmap green boxes 16 48 64bit per pixel for UINT16 RGB16 and RGBA16 image types blue boxes 32 96 128bit per pixel for FLOAT RGBF and RGBAF image types 1v 39 16 32 64 2x64bit for other special image types yelloviboxes lf boxed numbers are not displayed the function operation is independent of the image pixel depth eg for load save and plugins functions 2 o Bitmap function reference Freelmage 3110 documentation Bitmap function reference General functions The VuHqug mmmns dun t have anylhmg m an WM We bnmap suppun pmde by Free mage They are mmma hbvavy managsmsm mmmns That duesn mean they are nm mpunam thum them yuu wum be ams m uad anybnmap 3 3H Freelmagelntalise mun Vuxd micmcuw Freemageilnxcxalxsek l loadilocaljlugnnsionly n pammmsxn nmahses ms hbvavy When We midiacaipugmsionl parameter sTR UE Free mage Wm make use Manamawmgms When usmg ms Free mage DLL W5 Vunctmn s caHed zulnmmmzlly WNW ms uadjucaLp ugmsgn y parameter 52 a FALSE When usmg Free mage as a s1aus hnked hbvavy yuu mus1 caH W5 unsnun exzt y nnce a m Stan av yum pvugvam E FreelmageDeln alise mun ma MUM N Demmahses We hbvavy When usmg ms Free mage DLLJMSVUHEMDH s caHed zulnmzllczlly When usmg Free mage as a s1aus hnked hbvavy yuu must Be W5 mmquot exz ly nnce a ms and Myuuv pmgvam m dean up aHuca ed vesuuvces m m Free mage hbvavy A Under Lmux my way any w 05 w 2 my Um m MacOSX yuu need m sau Free magejnmahse a m begmmng av yum mam Vunctmn and yuu need m 23H E Free mageiDemmahse a ms and uv W5 mam mmquot W5 5 nut needed when a usmg Free mage asa so FreelmageGetVersion mun emse em m m N eemese neweesmn R etums a sumg cumammg me cunem veysmn uHhe hbvavy FreelmageGetCopyrightMessage mun eense em pugmcuw Fx lmsqe FreelmageSet0utputMessage mun Vuxd mime u my Fm Exammg a seam bump Vuvma rmgm m be suppuned due m pa em vesmctmns uHheve rmgm be a knuwn ssue MN 3 cenam bumap sumype Whenevev sumemmg 3H5 m Fvee mage Vuu use me Vunctmn Fveemage eNOu pmMessage m samme me my smng 5 0m yuu can shuw m We use uHhe pmgvam m 17221ng em handle 2pm in Fomsz mum responsible for 102 em were messege gem messsqe Vuxd Freelmage xxox andlexFm in l tEEiF m le m eense em messegey pnmi n mm 171171me mm ss Foxmamn pnmmessegey menu mum Freemsgei ecFoxmachmFIF 12V y mm yeeexmegeseemmnessegemeeemegexmeuenmeey The N paveme ev passed m We aHback sz avgumem may be 2mm m EMKNOWN when an enuHhaHs quotunemeu m 3 WW sgeneva ed nms case ang FreeWageGeszmaszmFHFiUNKNOWN Wm 12mm NULL m mm NHH pnnzN be sayem Bitmap management functions The bitmap management functions in Freelmage are definitely the most used ones They allow you to allocate new bitmaps import bitmaps so that they can be edited in memory and export bitmaps to disc As you will see the Freelmage bitmap management functions are very easy to use Although Freelmage can handle more than 20 bitmap types there are only 4 bitmap handling functions A special parameter an enum named FREEIMAGEFORMAT is used to specify the bitmap format that will be loaded or saved This enum is defined in the header file FREEIMAGEH The following FREEIMAGEFORMATS constants are currently available FF Description FIFUNKNOWN Unknown format returned value only never use it as input value FIFBMP Windows or OS2 Bitmap File BMP FIFCUT Dr Halo CUT FIFDDS DirectDraw Surface DDS FIFEXR ILM OpenEXR EXR FIFFAXG3 Raw Fax format CCITT G3 G3 FIFGIF Graphics Interchange Format GIF FIFHDR High Dynamic Range HDR FIFICO Windows Icon ICO FIFIFF Amiga IFF IFF LBM FIFJ2K JPEG2000 codestream J2K J2C FIFJNG JPEG Network Graphics JNG FIFJP2 JPEG2000 File Format JP2 FIFJPEG Independent JPEG Group JPG JIF JPEG JPE FIFKOALA Commodore 64 Koala format KOA FIFMNG Multiple Network Graphics MNG FIFPBM Portable Bitmap ASCII PBM FIFPBMRAW Portable Bitmap BINARY PBM FIFPCD Kodak PhotoCD PCD FIFPCX Zsoft Paintbrush PCX bitmap format PCX FIFPGM Portable Graymap ASCII PGM FIFPGMRAW Portable Graymap BINARY PGM FIFPNG Portable Network Graphics PNG FIFPPM Portable Pixelmap ASCII PPM FIFPPMRAW Portable Pixelmap BINARY PPM FIFPSD Adobe Photoshop PSD FIFRAS Sun Rasterfile RAS FIFSGI Silicon Graphics SGI image format SGI FIFTARGA Truevision Targa files TGA TARGA FIFTIFF Tagged Image File Format TIF TIFF FIFWBMP Wireless Bitmap WBMP FIFXBM X11 Bitmap Format XBM FIFXPM X I l Pixmap Format XPM Table 1 FREEMAGEFORMATS constants Freelmage format identifiers Freelmage 3110 documentation Bitmap function reference a 5 JMAGEfnPM T PEQ S EHHQ humaps can he uehe manuaHy by ang ehe e the p ugm managamam e p ugm DLL mm the same dwecmvywheve FREE MAGE DLst yesmhg Wheh a new humap w m We same phase that yuu wuum pass a FREEJMAGEJOR MAT FreelmageAllocate 1 A E 1E 24 32 mim mum rouimucmlv FreemsgeiAchacekmc mach 1m might 1m bee msxgn d xeaimesk nipmumm unsxgned greening nibxuurnm unsxgned blueimask n mummn h yuu wam m cveate a new humap m memmy hem scvatch W huu uadmg a varmadE humap hem msc yuu use M s uheheh Fvee mageiAHuca e akes a wmh ahu hewgm a b speewy the bu uemh e the wage and YE UMS a HEWMA The up mna 351 01122 pavemetevs vedimask gveenimask ahu b ueimask ave used m 2 Fveehhage the waayuut enhe cu uv eempehems m the bumap e g Wheve m a mer e mi gyeeh ahu mue eempehems ave stayed Tu awe yuu ah M23 abum hew m u YEdJHa M hr ehe wex ave used m the cu uv 12d Wheh gveenimask 5 EIxEIEIEIEIEIEIFF u meahs tha the ms 8 bus m a we ave used enhe cu uv gyeeh uh zemes Zem h a humap 5 usuaHy mmvpvamd as mach Thws m humap 5 pauehseu u Wm eemam a cump ete y ene Vuu can access and hehee pupu ate the pa e e by usmg the uheheh Fvee mageiGetPab e e Fvee mageiAHuca e aHucates ah empzy bumap e g a humap that 5 Med cump ete y V w eansthat h yum mum bxcmap 2m 32y 12 bxcmspY bxcmap successmuy Exeszed Freemegegmmea bumsth Fvee mageiAHuca e 5 ah ahasmv Fvee mageiA ucateT and can he vep aced bythws eau Fvee mageiAHucatEUF TiE TMAP WMW hehghh bpp vedimask gveenimask b ueimask FreelmageAllocateT mun mum rouimucmlv FreemweiAUutaceTkFREEil AEv iTYPE wee 1m mdzh me height um bpp nipmumey msxgn d xeaimesk nibxuurnm unsxgned greening nibxuurnm unsxgned blueimask 17 mummy Whue mus1 hhagmg appheahehs ehxy ueax Wuh phmugvaphm wages mahy SE EMME hhh Thahsmym apphed m a arm gmysca e hhage 012125un a cump EX W 3 A spama payame eh ah ehum hameu FREEJMAGEJVPE 5 used m speewy the humap type e a F E TMAP Thws ehum 5 de ned m the heauey N2 FREEWMAGE H The enemy FREE MAGEJVPE cuns ams ave EUYYEnHy ava ab e p Wheh yuu HEEd Te knuW The data Type eT a bitmap yuu can use The FTEETmageiGe mageType TuheTTeh lenm bxcmap e FreemsqeiAchaceT17117115516 512 5m 2 Tbmepy T bxcmsp successmny Exeszed Freemageilhlosdkbxmsph FreelmageLoad mien mum puiemeuw Freemageileusdum im ilmml m consc char meme me megs nipmmmn The ThsT pavemetev eehhes The Type eThTTmsp Te he uaded Fm EXamp E wheh FTFjMP Ts passed a EMF me Ts uaded ThTe memmy sh uvevwew eT pessThTe FREEJMAGE R MAT eehsTshTs Ts svshsme m Tame T The seeehe paysmeTey Tens Fveehnage The The T has Te decade The TssT pavemetev Ts used Te change The behavmuv m ehshTe a TesTme m The hTTmsp pmng Eseh pmng has TTs EIWVV seT eTpsysmeTeys lenm bxcmap e FreemsqeiLosdkFIFimP Wnybxcmsp mp mymum n Tbmepy T bxcmsp successmny new Freemageilhlosdkbxmsph Same hTTmsp uadevs esh vecewe pavemetevs Te change The Tesmhg behavmuv Wheh The paysmeTey Ts heT svshsme m unused yuu can pass The vsTue u m ltTVPE70FETMAPgt7DEFAULT e g EMEDEFAULT CoiDEFAULT eTe IBiImzp Type Flzg Deser eTr Tommw 0 See me FvssxmsgsMsksThumbnsu samp e nude m a samp e use 9 nstead thavdcudmgme FREEJMAGEJOR MAT when cang Fvee mageiLuad u 4 s adwsed m use une n We Fvee mage F etype unmuns such as 122 geiGetHeType m uvdev m wme a genen cude mdependem u pussmxs s F Mme Am Chang FreelmageLoadU mun mmm rouimucmlv FreemsgeihadmExxximsxivum39r m muss my mum 1m mus nimuumun 7 u y m W5 uncuun un ywuvks un sz upsvanng sys12ms On uthev sys12ms We mummy dues quottummy and mums NULL FreelmageLoadFromHandle mun mmm rouimucmlv Freemwgumxmmmumuumm m Regimen 2 We mm m gags n mummy FTeehnage has The unTuue TeaTuTe Tu had a bnmap TTmn an aThTTTaTv suuTee ThTs suuTee TpTTTe uTanTnT Tn Tsn m suuTees Ts nuT uTTeeTTv hanuTeu Tn The FREETMAGE DLL huT can he easTTv added by usmg a FTeehnageTo sTTueTuTe as ueTTneu Tn FREETMAGE H v T une Tu wmem a suuvce une Tu seeh Tn The suuTee anu une Tu zeTwheTe Tn The suuTee We eunenTTv aTe When yuu pupuTaTe The FTeehnageTo sTTueTuTe WTTh puTnTeTsTu TuneTTuns and pass ThaT sTTusTuTe Tu F122mageiLuadmeHand e Fveemage WTTT eau vouT TunsTTuns Tu YEad seek and Ten Tn a he The hand erpavametev ThTTu paTameTeT TTmn The TeTT Ts useu Tn ThTs Tu The TunsTTun puTnTeTs Tn FTeehnageTo use The sTueau cang eunvenTTun ThTs means ThaT The TuneTTuns puTnTeu Tu musT aTsu use The sTueau cang eunvenTTun The why such asstuaT EasTe pesapxau palms ea summon that suns tread mu u Seekqucn palms ea summon that suns Seek ua mums s TellPxQCn palms ea summon that suns cell lenm fbxcmsp e pseeLueseJasupmusuaxeTan m gunmen m maseTsT 12 TmuspT T bxcmsp successfully loadad Freemageilhlosdkbxmsph T Freelmagesave n uim sum puiemeuw FreemageisavekFx im iF mT m lenm um consc um meme me flag nimmmun he The p Tvpe uTThe bnmap Tu he saved Fm examme when FTFjMP Ts passed a EMPTTTe Ts saveu an uveTvTeW uT pussThTe FREEJMAGEJOR MAT eunsTanTs Ts avaTTahTe Tn TahTe T The sand paTameTeT Ts The name uT The hTTmap Tu he saved TT The TTTe aheauv estTs TT Ts rwvmen Nme ThaT sume hTTmap save pTungs have TesTnsTTuns an The hTTmap Tvpes Thev save Fm exampTEJHE JPEG pTung ean unTv save 24 hTT and a hTT gTevseaTe bnmaps se eve ean p Eaeh pmng has TTs uvvn seT uT paTameTeTs T h r T Tu T when savmg ch code sssuues there us 3 bxcmsp loaded suu presem m s Tumble usueu mmap 12 Freemag isavekFIFimP bxcmapn Wnybxmsp pup uTT T bxcmsp successfully Saved me hTTmap saveTs ean TeeeTve paTameTeTs Tu change The savmg hehavTuuT When The paTameTeT Ts nuT avaTTahTe uT unuseu yuu can pass The vaTue u m ltTVPE70FETMAPgt7DEFAULT e g EMEDEFAULTT CoiDEFAULT eTe Bitmap Flag Description type BMP BMPDEFAULT Save without any compression BMPSAVERLE Compress the bitmap using RLE when saving EXR EXRDEFAULT Save data as half with pizbased wavelet compression EXRFLOAT ave data as float instead of as half not recommended EXRNONE Save with no compression EXRZP Save with zlib compression in blocks of 16 scan lines EXRPZ Save with pizbased wavelet compression EXRPXR24 Save with lossy 24bit float compression EXRB44 Save with lossy 44 float compression goes to 22 when combined with EXRLC EXRLC Save images with one luminance and chroma channels rather than as RGB lossy compression J2K J2KDEFAULT Save with a 161 rate lntegerX in 1512 Save with a X1 rate JP2 JP2DEFAULT Save with a 161 rate lntegerX in 1512 Save with a X1 rate JPEG JPEGDEFAULT Saves with good quality 751 JPEGQUALITYSUPERB Saves with superb quality 1001 JPEGQUALITYGOOD Saves with good quality 751 JPEGQUALITYNORMAL Saves with normal quality 501 JPEGQUALITYAVERAGE Saves with average quality 251 JPEGQUALITYBAD Saves with bad quality 101 Integer X in 0100 Save with quality X1 JPEGPROGRESSVE Saves as a progressive JPEG file use to combine with JPEG quality flags JPEGSUBSAMPLNG411 Save with high 4x1 chroma subsampling 411 JPEGSUBSAMPLNG420 Save with medium 2x2 chroma subsampling 420 default value JPEGSUBSAMPLNG422 Save with low 2x1 chroma subsampling 422 JPEGSUBSAMPLNG444 Save with no chroma subsampling 444 PNG PNGDEFAULT Save with ZLib level 6 compression and no interlacing PNGZBESTSPEED Save using ZLib level 1 compression default value is 6 PNGZDEFAULTCOMPRESSION Save using ZLib level 6 compression default recommended value PNGZBESTCOMPRESSION Save using ZLib level 9 compression default value is 6 PNGZNOCOMPRESSON Save without ZLib compression PNGINTERLACED Save using Adam7 interlacing use to combine with other save flags PBM PGM PNMDEFAULT Saves the bitmap as a binary file PPM PNMSAVERAW Saves the bitmap as a binary file 10 o Bitmap function reference Freelmage 3110 documentation Bitmap type Flag Description PNMSAVEASCI Saves the bitmap as an ASCII file TIFF TIFFDEFAULT Save using CCITTFAX4 compression for lbit bitmaps and LZW compression for any other bitmaps TIFFCMYK Stores tags for separated CMYK use to combine with TIFF compression flags TIFFPACKBITS Save using PACKBITS compression TIFFDEFLATE Save using DEFLATE compression also known as ZLIB compression TIFFADOBEDEFLATE Save using ADOBE DEFLATE compression TIFFNONE Save without any compression TIFFCCITTFAX3 Save using CCITT Group 3 fax encoding TIFFCCITTFAX4 Save using CCITT Group 4 fax encoding TIFFLZW Save using LZW compression TIFFJPEG Save using JPEG compression 8bit greyscale and 24bit only Default to LZW for other bitdepths Table 4 Optionnal encoder constants FreelmageSaveU DLLiAPI BOOL DLLicALLCONV FreelmageisaveUFREEilMAGEiFORMAT flf FIBITMAP dlb const wcharit fllename int flags FliDEFAULTO This function works exactly like FreelmageSave but supports UNICODE filenames Note that this function only works on WN32 operating systems On other systems the function does nothing and returns FALSE FreelmageSaveToHandle DLLiAPI BOOL DLLicALLCONV FreelmageisaveToHandleFREEilMAGEiFORMAT flf FIBITMAP dlb FreelmageIO 10 flihandle handle int flags FliDEFAULTO The FreelmagelO structure described earlier to load a bitmap from an arbitrary source can also be used to save bitmaps Once again Freelmage does not implement the way the bitmap is saved but lets you implement the desired functionality by populating a FreelmagelO structure with pointers to functions Freelmage will now call your functions to write seek and tell in a stream Freelmage 3110 documentation Bitmap function reference I 11 ch coda assumes Chara 5 a bump luadad and mm m a varxable called blunsp mam m m 19 read mu usually m mega to 5mm quotxxceroCr Sumner no gunman cm calls 2mm 19 Seaijuc SeakPxoc Sumner no gunman cm calls 25m 19 c 114mm TellPxoc Sumner no gunman cm calls cell ma 2 fopmk mybxcmsp mm mm 2 FreemweisaveToMekFIFi m bxcmspy m uthmxm my bxcmap successmuy saved Closet 9 Freelmageclone mun mam augucmw manage ElmakFEIT AP nub any ch coda assumes Chara 5 a bump luadad and mm m a varxable called my mum clm Freemageiclmekdlbh 2 Elana Elana succeeded Freemsgei mosdkclm h FreelmageUnload mun ma Duimucmu nub Dames a pvevmus y mam F E TMAP mm memuvy u A have a memnrylezk Bitmap information functions Onee a biimap is inaded min memuvy yuu esn veineve aii kinds e1 minimaiiun mm n m seeess speeme pansnmn ine human suen asine pixei inns and ine paieiie FreelmageGetlmageType m m em um me me R eiums ine daia iype uia bitmap see Tabie 2 FreelmageGetColorsUsed i A E E 24 32 mien memes m mum eeeexmege em R eiums ine numbev e1 minis used in a bitmap This mummy veiums ine paieiiersize in paiieiised humans and u in highrcuiuui bitmaps 2 Tnene nss been senne cvmmsm un ine name e1 Wis mnenen Same usevs expect Wis nn m mnm n aciuaiiy nemns ine size nnhe pziene Tne name e1 Wis mummy ungmaies mm a cunieni u Wis membev FreelmageGetBPP DLLiAPI msegmee my mum exeexmege secswivmlnm mam mispace mihE bitmap ihisiundiun vemnsaz Pussibie bu depihs 3121 4 8 15 24 32i i siendavd biimaps aquotd1E 32quotAEquotE4quot9E39aquotd12839biquot vn n siendavd biimaps FreelmageGetWidth DLLiAPI msegmee my mum exeexmege eewmhimmm nub R eiums ine Win enne bitmap in pixei unns FreelmageGetHeight DLLiAPI msegmee my mum Freelmage en R eiums ine haighi enne bitmap in pixei umis FreelmageGetLi ne mun msxwa Du cume Freemage sechaLFmI39nm nub R etumsme Wm uHhe bumap m bytes 522 a su Fvee mageiGetPNch 9 hylvs As av as knuw m tevm Lme s cummun mymmu ugymnhe Wm u a bump m bytes n s at 2351 used by Mmmsu DwemX FreelmageGetPitch cume hasng sesymmmzm am R etumsthewmm uHhe bump m by es vuundedm m nex zbn buundavy abu knuwn as pmch m smde m scan mm A m Fvee mage each scanhne star s at a 321m hnundzly m psuuymsnss veasuns ms theme an M accessmnmmns FreelmageGetDl BSize cume Freemage Gewmsuewmlnm nub R emms We 5 22 n We D Erebmem u a HEWMAP m Mummy 2 We y unws 5 22 mus D Eremmen FreelmageGetPalette 1 A E 1E 24 32 mun mum pugmcuw Freemage sscymmmmm nub R emms a pmMEHD m bumap s pa e e Hhe bump duesn t have a pa e e a s When We mm m depth 5 gvea enhan E hwsmnmmn vetums NULL s Chara 1s a bump Jams and ma my av v1le greyscale palette s Freexmeismmme mm lt 255 my FreelmageGetDotsPerMeterX DLLiAPI unsigned DLLicALLCONV FreeImageiGetDotsPerMeterXFIBITMAP dib Returns the horizontal resolution in pixelspermeter ofthe target device for the bitmap FreelmageGetDotsPerMeterY DLLiAPI unsigned DLLicALLCONV FreeImageiGetDotsPerMeterYFIBITMAP dib Returns the vertical resolution in pixelspermeter of the target device forthe bitmap FreelmageSetDotsPerMeterX DLLiAPI Void DLLicALLCONV FreelmageisetDotsPerMeterXFIBITMAP dib unsigned res Set the horizontal resolution in pixelspermeter of the target device for the bitmap FreelmageSetDotsPerMeterY DLLiAPI Void DLLicALLCONV FreelmageisetDotsPerMeterYFIBITMAP dib unsigned res Set the vertical resolution in pixelspermeter of the target device for the bitmap FreelmageGetlnfoHeader 1 4 8 16 24 32 DLLiAPI BilM PiNh Hh ULR DLLicALLCONV FreelmageiGetInfoHeaderFIBITMAP dib Returns a pointer to the BITMAPINFOHEADER ofthe DlBelement in a FIBITMAP FreelmageGetlnfo 1 4 8 16 24 32 DLLiAPI BITMAPINFO DLLicALLCONV FreelmageiGetInfoFIBITMAP dib Alias for FreelmageGetlnfoHeader that returns a pointer to a BITMAPINFO rather than to a BITMAPINFOHEADER FreelmageGetColorType DLLiAPI FREEilMAGEicoLORiTYPE DLLicALLCONV FreelmageiGetColorTypeFIBITMAP dib Investigates the color type of the bitmap by reading the bitmap s pixel bits and analysing them FreelmageGetColorType can returns one of the following values Freelmage 3110 documentation Bitmap function reference I 15 Tu be Judged gveyscab 12 F107M1N1SELACK a bump must have a M12112 Wm these chavame u r The ved gveen and We vames u each pam e snuy must be equaL rThe 1nevva1 bsmssn smassm M12112 snmss must be pusmve and 2quaHu1 A He J ms pm mausuy m mess 1n a1mus1 evevy case 0115 15 dune by gvaphm amsts may take 3 R63 p1tuvee 3 mm 1 a mane cameva and tuned ms vames as appvupnate my me pmtuve smg12 pwxek bngmness cumvas1 FmaHy they expun an CMVK sepavated Wage Ms W111 gm dwec y m a 1ayuut pvugvam and men m m pm machmes Mus1 Fvee1mag2 usevs W111 nave need m use CMVK sepavated wages mama sunvzysmn 15 ssssnns1 m get a bmham pm vesuh Wham nu my W111 a sume hmg 11kg cunvevsmn That s Why p much be enhan u u pnmed mums m sums magazmes 1uuk 5 m humermade punts FreelmageGetRedMask 1 4 E 1E 24 32 7 cume hasng ascxemsmmm nub R emms 3 bn pa em descnbmg 012 Md cu1uvcumpunemma mm m a F1E1TMAP FreelmageGetGreenMask 1 4 E 1E 24 32 mun ms a m cume Menage hm R emms 3 bn pa em descnbmg We gym cu1uvcumpun2m we mm m a F1E1TMAP FreelmageGetBlueMask 1 4 E 1E 24 32 mun mum m cume Menage R emms a m panequot descnbmg me We cu1uvcumpunem Ma p1x21 m a F1E1TMAP this code assumes there is a bitmap loaded and present in a variable called dib unsigned redimask greenimask blueimask red mask FreeImage GetRedMaskdib green mask FreeImageiGetGreenMaskdib blueimask FreeImageiGetBlueMaskdib ifFreeImage GetBPPdib l6 redimask FIl675657RED7MASK ampamp greenimask FIl675657GREEN7MASK ampamp blue mask F116 565 BLUE MASK We are in RGBl6 555 mode 7 l else l We are in RGBl6 555 mode FreelmageGetTransparencyCount 1 4 8 16 24 32 DLLiAPI unsigned DLLicALLCONV FreeImageiGetTransparencyCountFIBITMAP dib Returns the number of transparent colors in a palletised bitmap When the bitmap is not palletised FreelmageGetTransparencyCount always returns 0 FreelmageGetTransparencyTable 1 4 8 DLLiAPI BYTE DLLicALLCONV FreeImageiGetTransparencyTableFIBITMAP dib Returns a pointer to the bitmap s transparency table Only palletised bitmaps have a transparency table Highcolor bitmaps store the transparency values directly in the bitmap bits FreelmageGetTransparencyTable returns NULL for these bitmaps FreelmageSetTransparencyTable 1 4 8 DLLiAPI Void DLLicALLCONV FreeImageisetTransparencyTableFIBITMAP dib BYTE table int count Set the bitmap s transparency table Only palletised bitmaps have a transparency table High color bitmaps store the transparency values directly in t bitmap bits FreelmageSetTransparencyTable does nothing for these bitmaps Freelmage 3110 documentation Bitmap function reference I 17 include quotFreelmagehquot int mainint argc char argv F BITMAP hDIB24bpp FreelmageiLoadFIF7BMP quottestbmpquot 0 if hDIB24bpp coloriquantize 24bpp results in a 8b bitmap to set transparenc FIBITMAP hDIBprp Freelmage7ColorQuantizehDIB24bpp FIQilJUQUANT get palette and find bright green RGBQUAD Palette FreelmageiGetPalettehDIB8bpp BYTE Transparency 256 for unsigned i O i lt 256 i Transparencyi OXFF if Palettei rgbGreen gt OXFE ampamp Palettei rgbBlue Palettei rgbRed 0X00 Transparencyi 0X00 l l set the tranparency table FreeImageisetTransparencyTablehDIBprp Transparency 256 save 8bpp image as transparent FreelmageisaveFIF7PNG hDIBprp PNG quottestpngquot 0 FreelmageiUnload hDIBZ 4bpp FreelmageiUnload hDIBBbpp l return 0 l FreelmageSetTransparent 1 4 8 32 DLLiAPI Void DLLicALLCONV FreelmageisetTransparentFIBITMAP dib BOOL enabled Tells Freelmage if it should make use of the transparency table orthe alpha channel that may accompany a bitmap When calling this function with a bitmap whose bitdepth is different from 1 4 8 or 32bit transparency is disabled whatever the value ofthe Boolean parameter FreelmagelsTransparent 1 4 8 16 24 32 DLLiAPI BOOL DLLicALLCONV FreelmageilsTransparentFIBITMAP dib Returns TRUE when the transparency table is enabled 1 4 or 8bit images or when the input dib contains alpha values 32bit images Returns FALSE otherwise FreelmageSetTransparentlndex 1 4 8 DLLiAPI Void DLLicALLCONV FreeImageisetTransparentIndexFIBITMAP dib int index Sets the index of the palette entry to be used as transparent color for the image specified Does nothing on high color images This method sets the index of the palette entry to be used as single transparent color for the image specified This works on palletised images only and does nothing for high color images Although it is possible for palletised images to have more than one transparent color this method sets the palette entry specified as the single transparent color for the image All other colors will be set to be nontransparent by this method As with FreelmageSetTransparencyTable this method also sets the image39s transparency property to TRUE as it is set and obtained by FreelmageSetTransparent and FreelmagelsTransparent respectively for palletised images 18 o Bitmap function reference Freelmage 3110 documentation


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Jim McGreen Ohio University

"Knowing I can count on the Elite Notetaker in my class allows me to focus on what the professor is saying instead of just scribbling notes the whole time and falling behind."

Janice Dongeun University of Washington

"I used the money I made selling my notes & study guides to pay for spring break in Olympia, Washington...which was Sweet!"

Steve Martinelli UC Los Angeles

"There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."

Parker Thompson 500 Startups

"It's a great way for students to improve their educational experience and it seemed like a product that everybody wants, so all the people participating are winning."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.