2024年5月11日发(作者:)
图像处理API
GetObject
函数功能:该函数得到指定图形对象的信息,根据图形对象,函数把填满的或结
构,或表项(用于逻辑调色板)数目放入一个指定的缓冲区。
函数原型:int GetObject(HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);
参数:
hgdiobj:指向感兴趣的图形对象的句柄,它可以是这样的一个句柄:一个逻辑位
图、一个刷子、一种字体、一个调色板、笔或通过调用CreateDIBsection函数创建
的与设备无关位图。
cbBuffer:指定将要写到缓冲区的信息的字节数目。
lpvObject:指向一个缓冲区的指针,该缓冲区将要检索指定图形对象的信息。
下面列出的是缓冲区为每种图形对象类型可接收的信息和类型,可用hgdiobj来
指定,写入*lpvObject: HBITMAP BITMAP。
HBITMAP:如果cbBjffer被设置为sizeof(DIBSECTION)或sizeof(BITMAP),则
从对GreatDIBSection函数的DIBSECTION调用中返回。
HPALETTE:逻辑调色板入口数的WORD数目。
HPEN:从对ExtCreatePen函数的LXTLOGPEN调用中返回。
HPENLOGPEN; HBRUSH LOGBRUSH; HFONT LOGFONT
如果lpvObject参数为Null,则函数返回值为指定图形对象需要把信息贮存到缓
冲区的字节数目。
返回值:如果函数调用成功,且lpvObject为一个有效指针,则返回值为贮存到
缓冲区的字节数目;如果函数调用成功,且lprObject为Null,则返回值为需要容纳
的贮存到缓冲区的信息字节数目;如果函数调用失败,则返回值为0。
Windows NT:若想获得更多错误信息,可调用GetLastError函数。
注释:lpvObject参数指向的缓冲区一定要足够大以接收图形对象的信息。
如果hgdiobj标识一个由调用GreateDIBSection创建的位图,且指定的缓冲区
足够大,则GetObject函数返回一个DIBSECTION结构。另外,DIBSECTION中的
BITMAP结构中的bmBits元素含有一个指向位图位值的指针。
如果hgdiobj标识了一个通过其他途径创建的位图,则GetObject只返回位图的
宽、高和颜色格式信息,通过调用GetDIBits或GetBitmapBits函数可以得到位置的
位值。
如果hgdiobj标识了一个逻辑调色板,则GetObject检索一个2字节的整数,该
整数指定调色板中的项数,函数不检索定义调色板的LOGPALETTE结构,为检索有
关调色板项的信息,应用程序可以调用GetPaletteEntries函数。
Windows CE:在Windows CE 1.0中,当用在DIB上中,GetObject总返回一
个BITMAP。Windows CE 1.0不支持lpvObject参数的HPALETTE值。此函数在
Windows CE 2.0与在Windows桌面上一样。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:
1.0及以上版本;头文件:wingdi.h;库文件:;Unicode:在Windows NT
上实现为Unicode和ANSI两种版本。
CreateCompatibleDC
函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。
函数原型:HDC CreateCompatibleDC(HDC hdc);
参数:
hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应
用程序的当前显示器兼容的内存设备上下文环境。
返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为
NULL。
Windows NT:若想获得更多错误信息,请调用GetLastError函数。
注释:内存设备上下文环境是仅在内存中存在的设备上下文环境,当内存设备上
下文环境被创建时,它的显示界面是标准的一个单色像素宽和一个单色像素高,在一
个应用程序可以使用内存设备上下文环境进行绘图操作之前,它必须选择一个高和宽
都正确的位图到设备上下文环境中,这可以通过使用CreateCompatibleBitmap函数
指定高、宽和色彩组合以满足函数调用的需要。
当一个内存设备上下文环境创建时,所有的特性都设为缺省值,内存设备上下文
环境作为一个普通的设备上下文环境使用,当然也可以设置这些特性为非缺省值,得
到它的特性的当前设置,为它选择画笔,刷子和区域。
CreateCompatibleDc函数只适用于支持光栅操作的设备,应用程序可以通过调
用GetDeviceCaps函数来确定一个设备是否支持这些操作。
当不再需要内存设备上下文环境时,可调用DeleteDc函数删除它。
ICM:如果通过该函数的hdc参数传送给该函数设备上下文环境(Dc)对于独立颜
色管理(ICM)是能用的,则该函数创建的设备上下文环境(Dc)是ICM能用的,资源
和目标颜色间隔是在Dc中定义。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:
1.0及以上版本;头文件:wingdi.h;库文件:。
SelectObject
函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的
相同类型的对象。
函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);
参数:
hdc:设备上下文环境的句柄。
hgdiobj:被选择的对象的句型,该指定对象必须由如下的函数创建。
发布评论