Picture.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. ///************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[3/17/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __PICTURE_20160317__
  19. #define __PICTURE_20160317__
  20. #pragma once
  21. #include <afxctl.h>
  22. class CPicture :public CPictureHolder
  23. {
  24. public:
  25. CPicture(void);
  26. virtual ~CPicture(void);
  27. public:
  28. // 从文件读取图像;
  29. BOOL Load(IN CString sFilePathName);
  30. //从资源读取图像;
  31. BOOL Load(HINSTANCE hInstance, LPCTSTR lpszResourceName, LPCTSTR ResourceType);
  32. //从内存读取图像;
  33. BOOL LoadPictureData(BYTE* pBuffer, int nSize);
  34. //在给定的DC上画图;
  35. void Render(
  36. CDC* pDC,
  37. LPRECT pDrawRect/*目标矩形,单位是逻辑坐标单位*/,
  38. LPRECT pSrcRect=NULL/*来源矩形,单位是0.01毫米,如果为空,则拉伸整个图像到目标矩形*/,
  39. LPCRECT prcWBounds=NULL/*图元文件专用,绑定矩形*/);
  40. //释放图像,作用同CPictureHolder::~CPictureHolder();
  41. void UnloadPicture();
  42. public:
  43. void RenderBmp(CDC* pDC, LPRECT pDrawRect, LPRECT pSrcRect=NULL,LPCRECT prcWBounds=NULL);
  44. LONG get_Height(); // 以0.01毫米为单位的图像高度
  45. LONG get_Width(); // 以0.01毫米为单位的图像宽度
  46. };
  47. #endif // __PICTURE_20160317__