Imaging COM 接口的封装. 更多...
#include <ImagingHelper.h>
公有成员 | |
bool | AdjustBrightness (float fBrightness) |
调节图像亮度 (使用的是IImage的亮度调节功能,只当加载图像的IImage对象没被释放才能使用) | |
BOOL | AttachBitmap (HBITMAP hBmpSrc, bool isAlpha, bool deleteBmpSrcOnDestruct=true) |
使用现有位图作为对象内的图像 | |
HBITMAP | CreateBitmap (__in RECT *prcSrc=0, bool bUseAlpha=true) |
void | Draw (__in HDC hdcDst, __in RECT *prcDst, bool bStretch=false, bool bStretchScale=false) |
绘制已成功加载的图像 | |
void | DrawGif (HDC hdcDst, RECT *prcDst, bool bStretch=false, bool bStretchScale=false) |
WORD | GetCurrentGifDelay () |
WORD | GetCurrentGifFrame () |
MZFC_INLINE HDC | GetDC () |
获得内置DC | |
BOOL | GetExtendedProperty_ImagingHelper (int nPropertyType, void *pValue, int nBufSize) |
获取或设置对象的扩展属性值 | |
IImage * | GetIIMage () |
获得图像的IImage指针 | |
MZFC_INLINE int | GetImageHeight () |
获得图像的高 | |
MZFC_INLINE int | GetImageWidth () |
获得图像的宽 | |
ImagingHelper (void) | |
bool | IsGif () |
MZFC_INLINE bool | IsImageAlpha () |
图像中是否带alpha通道 | |
MZFC_INLINE bool | IsLoadedToDC () |
图像是否已加载到内置DC | |
BOOL | LoadGif (LPCWSTR filename, bool bCopyToInternalDC, bool bUnloadAfterCopy) |
BOOL | LoadImage (LPCWSTR filename, bool bCopyToInternalDC, bool bUnloadAfterCopy, bool bUseAlpha=true) |
virtual BOOL | LoadImageFromBuffer (LPVOID pBuffer, DWORD dwSize, bool bCopyToInternalDC, bool bUnloadAfterCopy, bool bUseAlpha=true) |
从buffer加载图像 | |
virtual BOOL | LoadImageFromRes (HINSTANCE hInst, LPCWSTR lpType, LPCWSTR lpName, bool bCopyToInternalDC, bool bUnloadAfterCopy, bool bUseAlpha=true) |
从资源模块加载图像 | |
BOOL | LoadToInternalDC (bool bUseAlpha) |
把对象中的IImage图像加载到内置DC中 | |
operator HDC () const | |
获得内置DC | |
void | SetCurrentGifFrame (WORD curFrame) |
BOOL | SetExtendedProperty_ImagingHelper (int nPropertyType, void *pValue, int nBufSize) |
获取或设置对象的扩展属性值 | |
void | Unload () |
释放对象的图像数据,相当于调用UnloadImage()、UnloadInternalDC(); | |
void | UnloadImage () |
释放已加载图像的IImage相关对象 | |
void | UnloadInternalDC () |
释放内置的图像DC | |
virtual | ~ImagingHelper (void) |
静态公有成员 | |
static void | ClearCachedImages () |
删除并释放所有缓冲的图像 | |
static void | DrawImage (HDC hdcDst, __in RECT *prcDst, HINSTANCE hInst, LPCWSTR lpType, LPCWSTR lpName, bool bStretch=false) |
绘制某个图像文件 | |
static void | DrawImage (HDC hdcDst, __in RECT *prcDst, LPCWSTR filename, bool bStretch=false, bool bStretchScale=false) |
绘制某个图像文件 | |
static ImagingHelper * | GetImageObject (HINSTANCE hInst, INT nResID, bool bUseAlpha=true) |
[此函数只供系统内部使用,第三方开发者请勿使用此函数!]load an image and return the loaded image,the loaded image is cached. | |
static IImagingFactory * | GetImagingFactory () |
创建并获得IImagingFactory接口指针 | |
static void | UnLoadImagingFactory () |
Imaging COM 接口的封装.
ImagingHelper::ImagingHelper | ( | void | ) |
virtual ImagingHelper::~ImagingHelper | ( | void | ) | [virtual] |
bool ImagingHelper::AdjustBrightness | ( | float | fBrightness | ) |
调节图像亮度 (使用的是IImage的亮度调节功能,只当加载图像的IImage对象没被释放才能使用)
BOOL ImagingHelper::AttachBitmap | ( | HBITMAP | hBmpSrc, | |
bool | isAlpha, | |||
bool | deleteBmpSrcOnDestruct = true | |||
) |
使用现有位图作为对象内的图像
使用现有位图作为对象内的图像.
hBmpSrc | 源位图 | |
isAlpha | 源位图是否带透明通道的位图 | |
deleteBmpSrcOnDestruct | 指明在对象析构时是否删除hBmpSrc位图 | |
return | Attach操作是否成功 |
static void ImagingHelper::ClearCachedImages | ( | ) | [static] |
删除并释放所有缓冲的图像
HBITMAP ImagingHelper::CreateBitmap | ( | __in RECT * | prcSrc = 0 , |
|
bool | bUseAlpha = true | |||
) |
void ImagingHelper::Draw | ( | __in HDC | hdcDst, | |
__in RECT * | prcDst, | |||
bool | bStretch = false , |
|||
bool | bStretchScale = false | |||
) |
绘制已成功加载的图像
hdcDst | 目的DC | |
prcDst | 目的矩形 | |
bStretch | 是否拉伸 | |
bStretchScale | 是否按比例拉伸 |
void ImagingHelper::DrawGif | ( | HDC | hdcDst, | |
RECT * | prcDst, | |||
bool | bStretch = false , |
|||
bool | bStretchScale = false | |||
) |
static void ImagingHelper::DrawImage | ( | HDC | hdcDst, | |
__in RECT * | prcDst, | |||
HINSTANCE | hInst, | |||
LPCWSTR | lpType, | |||
LPCWSTR | lpName, | |||
bool | bStretch = false | |||
) | [static] |
绘制某个图像文件
hdcDst | 目的DC | |
prcDst | 目的矩形 | |
hInst | 图像资源所在的资源模块句柄 | |
lpType | 图像资源所在的资源类型 | |
lpName | 图像资源的资源名称 | |
bStretch | 是否拉伸 |
static void ImagingHelper::DrawImage | ( | HDC | hdcDst, | |
__in RECT * | prcDst, | |||
LPCWSTR | filename, | |||
bool | bStretch = false , |
|||
bool | bStretchScale = false | |||
) | [static] |
绘制某个图像文件
hdcDst | 目的DC | |
prcDst | 目的矩形 | |
filename | 图像文件的路径 | |
bStretch | 是否拉伸 | |
bStretchScale | 是否按比例拉伸 |
WORD ImagingHelper::GetCurrentGifDelay | ( | ) |
WORD ImagingHelper::GetCurrentGifFrame | ( | ) |
MZFC_INLINE HDC ImagingHelper::GetDC | ( | ) |
获得内置DC
BOOL ImagingHelper::GetExtendedProperty_ImagingHelper | ( | int | nPropertyType, | |
void * | pValue, | |||
int | nBufSize | |||
) |
获取或设置对象的扩展属性值
nPropertyType | 要获取或设置的属性类型 | |
pValue | 要获取或设置的属性值的指针 | |
nBufSize | pValue所指向的变量的size大小(单位: 字节) |
IImage* ImagingHelper::GetIIMage | ( | ) |
获得图像的IImage指针
MZFC_INLINE int ImagingHelper::GetImageHeight | ( | ) |
获得图像的高
static ImagingHelper* ImagingHelper::GetImageObject | ( | HINSTANCE | hInst, | |
INT | nResID, | |||
bool | bUseAlpha = true | |||
) | [static] |
[此函数只供系统内部使用,第三方开发者请勿使用此函数!]load an image and return the loaded image,the loaded image is cached.
hInst | 资源模块句柄 | |
nResID | 图像的资源ID | |
bUseAlpha | 是否使用图像中的alpha通道. |
MZFC_INLINE int ImagingHelper::GetImageWidth | ( | ) |
获得图像的宽
static IImagingFactory* ImagingHelper::GetImagingFactory | ( | ) | [static] |
创建并获得IImagingFactory接口指针
bool ImagingHelper::IsGif | ( | ) |
MZFC_INLINE bool ImagingHelper::IsImageAlpha | ( | ) |
图像中是否带alpha通道
MZFC_INLINE bool ImagingHelper::IsLoadedToDC | ( | ) |
图像是否已加载到内置DC
BOOL ImagingHelper::LoadGif | ( | LPCWSTR | filename, | |
bool | bCopyToInternalDC, | |||
bool | bUnloadAfterCopy | |||
) |
BOOL ImagingHelper::LoadImage | ( | LPCWSTR | filename, | |
bool | bCopyToInternalDC, | |||
bool | bUnloadAfterCopy, | |||
bool | bUseAlpha = true | |||
) |
从文件加载图像
virtual BOOL ImagingHelper::LoadImageFromBuffer | ( | LPVOID | pBuffer, | |
DWORD | dwSize, | |||
bool | bCopyToInternalDC, | |||
bool | bUnloadAfterCopy, | |||
bool | bUseAlpha = true | |||
) | [virtual] |
从buffer加载图像
pBuffer | 图像数据的buffer | |
dwSize | pBuffer的大小,单位为byte | |
bCopyToInternalDC | 是否把图像复制到内置的内存DC | |
bUnloadAfterCopy | 如果 bCopyToInternalDC 为 true, 加载完之后是否释放对应的IImage COM 对象. | |
bUseAlpha | 是否使用图像中的alpha通道. |
virtual BOOL ImagingHelper::LoadImageFromRes | ( | HINSTANCE | hInst, | |
LPCWSTR | lpType, | |||
LPCWSTR | lpName, | |||
bool | bCopyToInternalDC, | |||
bool | bUnloadAfterCopy, | |||
bool | bUseAlpha = true | |||
) | [virtual] |
从资源模块加载图像
hInst | 资源模块句柄 | |
hInst | 图像资源所在的资源模块句柄 | |
lpType | 图像资源所在的资源类型,如 RT_RCDATA, RT_BITMAP 等 | |
lpName | 图像资源的资源名称 | |
bCopyToInternalDC | 是否把图像复制到内置的内存DC | |
bUnloadAfterCopy | 如果 bCopyToInternalDC 为 true, 加载完之后是否释放对应的IImage COM 对象. | |
bUseAlpha | 是否使用图像中的alpha通道. |
BOOL ImagingHelper::LoadToInternalDC | ( | bool | bUseAlpha | ) |
把对象中的IImage图像加载到内置DC中
ImagingHelper::operator HDC | ( | ) | const |
获得内置DC
void ImagingHelper::SetCurrentGifFrame | ( | WORD | curFrame | ) |
BOOL ImagingHelper::SetExtendedProperty_ImagingHelper | ( | int | nPropertyType, | |
void * | pValue, | |||
int | nBufSize | |||
) |
获取或设置对象的扩展属性值
nPropertyType | 要获取或设置的属性类型 | |
pValue | 要设置的属性值的指针 | |
nBufSize | pValue所指向的变量的size大小(单位: 字节) |
void ImagingHelper::Unload | ( | ) |
释放对象的图像数据,相当于调用UnloadImage()、UnloadInternalDC();
void ImagingHelper::UnloadImage | ( | ) |
释放已加载图像的IImage相关对象
static void ImagingHelper::UnLoadImagingFactory | ( | ) | [static] |
void ImagingHelper::UnloadInternalDC | ( | ) |
释放内置的图像DC