47 lines
950 B
C
47 lines
950 B
C
![]() |
/** @file memory_dc.h
|
|||
|
* @brief <EFBFBD>ڴ<EFBFBD>dc<EFBFBD>࣬ά<EFBFBD><EFBFBD>HBITMAP<EFBFBD><EFBFBD>HDC<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵĴ<EFBFBD><EFBFBD><EFBFBD>λͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @copyright (c) 2016, NetEase Inc. All rights reserved
|
|||
|
* @author Redrain
|
|||
|
* @date 2016/7/19
|
|||
|
*/
|
|||
|
#pragma once
|
|||
|
|
|||
|
class MemoryDC
|
|||
|
{
|
|||
|
public:
|
|||
|
MemoryDC();
|
|||
|
~MemoryDC();
|
|||
|
|
|||
|
// <20><>ʼ<EFBFBD><CABC><EFBFBD>ڴ<EFBFBD>dc<64><63><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>λͼ<CEBB><CDBC><EFBFBD><EFBFBD>
|
|||
|
// <20><><EFBFBD><EFBFBD>pBits<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>pBits<74><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λͼ
|
|||
|
// <20>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>Զ<EFBFBD>ɾ<EFBFBD><C9BE>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>λͼ<CEBB><CDBC><EFBFBD><EFBFBD>
|
|||
|
bool Init(HDC src_dc, int width, int height, const LPVOID pBits = NULL);
|
|||
|
|
|||
|
// ɾ<><C9BE>λͼ<CEBB><CDBC><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void DeleteDC();
|
|||
|
|
|||
|
// <20>ж<EFBFBD><D0B6>ڴ<EFBFBD>dc<64>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
bool IsValid();
|
|||
|
|
|||
|
HDC GetDC();
|
|||
|
HBITMAP GetBitmap();
|
|||
|
|
|||
|
// <20><>ȡ<EFBFBD>ڴ<EFBFBD>λͼ<CEBB><CDBC><EFBFBD><EFBFBD>ָ<EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λͼ
|
|||
|
BYTE* GetBits();
|
|||
|
// <20><>ȡ<EFBFBD>ڴ<EFBFBD>λͼ<CEBB>Ŀ<EFBFBD><C4BF><EFBFBD>
|
|||
|
int GetWidth();
|
|||
|
// <20><>ȡ<EFBFBD>ڴ<EFBFBD>λͼ<CEBB>ĸ߶<C4B8>
|
|||
|
int GetHeight();
|
|||
|
|
|||
|
private:
|
|||
|
bool CreateMemoryDC(HDC src_dc, int width, int height, void** pBits);
|
|||
|
|
|||
|
private:
|
|||
|
HDC mem_dc_;
|
|||
|
HBITMAP bitmap_;
|
|||
|
HBITMAP old_bitmap_;
|
|||
|
BITMAP bitmap_info_;
|
|||
|
|
|||
|
SIZE bitmap_size_;
|
|||
|
bool valid_;
|
|||
|
};
|