文件名称:位图函数参考-altium designer - pcb设计入门
文件大小:1.24MB
文件格式:PDF
更新时间:2024-06-23 14:23:35
FreeImage 图形
2.2 位图管理函数 第二章 位图函数参考 FreeImage Allocate 1 4 8 16 24 32 DLL API FIBITMAP *DLL CALLCONV FreeImage Allocate(int width,int height, int bpp,unsigned red mask FI DEFAULT(0), unsigned green mask FI DEFAULT(0), unsigned blue mask FI DEFAULT(0)); 如果您希望在内存中从头开始创建一个新位图、而不是从磁盘上载 入一个预先制作好的位图,那么使用该函数。FreeImage Allocate接受一个 宽度参数何一个高度参数,还有一个bpp参数,它被用来指定图象的位深 度。FreeImage Allocate返回一个FIBITMAP。最后三个可选参数(reamask、 greenmask和bluemask)用来告诉FreeImage图象的颜色分量的位布局,例如在 一个像素中红、绿、蓝分量的储存位置。这里给您演示一下如何解释颜色掩码: 当 reamask为0xFF000000时意味着在一个像素中的最后八位用于红色分量,当 greenmask为0x000000FF时意味着在一个像素中的最开始八位用于绿色分量。 !FreeImage Allocate为一个空位图—例如一个完全以零填充的位图—分 配内存,位图中的零通常被解释为黑色,这意味着如果您的位图配了色, 那么它将包含一个完全为黑色的调色板。您可以访问调色板并因此通过使 用FreeImage GetPallete函数来分布(populate)调色板。 FIBITMAP ∗bitmap = FreeImage Al locate (320 , 240 , 32) ; i f ( bitmap ) { // 位图创建成功 ! FreeImage Unload ( bitmap ) ; } !FreeImage Allocate是FreeImage AllocateT的别称,可用这个调用来代替: FreeImage AllocateT(FIT BITMAP, width, height, bpp, red mask, green mask, blue mask); FreeImage AllocateT DLL API FIBITMAP *DLL CALLCONV FreeImage AllocateT(FREE IMAGE TYPE type, int width, int height, int bpp FI DEFAULT(8), unsigned red mask FI DEFAULT(0), unsigned green mask FI DEFAULT(0), unsigned blue mask FI DEFAULT(0)); 一方面,多数图象应用程序只处理摄影图象,而同时另一方面,很多科学应 用程序需要处理高分辨率图象(例如16位灰度图象)、真实值像素(real valued pixels)或甚至复像素(例如,想象一下对一个8位灰度图象进行傅立叶变换的结 果吧:结果是一个复图象)。 一个特殊参数—名为FREE IMAGE TYPE的枚举常量—被用来指定一个 FIBITMAP的位图类型,这个枚举常量在头文件FREEIMAGE.H中定义。目前 可用的FREE IMAGE TYPE常量如下: 6