📄 voimage.h
字号:
#if !defined(AFX_VOIMAGE_H__B83C4202_DB1E_48BE_92A5_21019F9EE6FC__INCLUDED_)
#define AFX_VOIMAGE_H__B83C4202_DB1E_48BE_92A5_21019F9EE6FC__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifdef _WIN32_WCE
#include "imgdecmp.h"
#endif
#include "vostring.h"
class CVOResource
{
public:
CVOResource(HMODULE hModule, DWORD dwResourceID, LPCTSTR pcszClass);
~CVOResource();
BOOL IsLoaded();
DWORD GetSize() { return m_dwSize; }
PBYTE GetData() { return m_pData; }
void SetUserData(DWORD dwValue) { m_dwUser = dwValue; }
DWORD GetUserData() { return m_dwUser; }
protected:
DWORD m_dwUser;
DWORD m_dwSize;
PBYTE m_pData;
HGLOBAL m_hGlobal;
HRSRC m_hrsrc;
};
class CVOImage
{
public:
struct FileP
{
HANDLE hFile;
DWORD fileStartPoint;
DWORD fileNowPoint;
};
//BOOL SetCanvasSize(int x, int y, COLORREF rgbBackground = RGB(1, 1, 1), BOOL fHCenter = TRUE, BOOL fVCenter = TRUE);
COLORREF GetPixel(int x, int y);
// BOOL DrawTransparent(HDC hdc, int x, int y, int cx = -1, int cy = -1, COLORREF TransparentColor = RGB(192, 192, 192));
BOOL DrawTransparent(HDC hdc, int dx, int dy, int dcx = -1, int dcy = -1, COLORREF TransparentColor = RGB(192, 192, 192),int sx=0,int sy=0,int scx=-1,int scy=-1);
//HBITMAP Copy(int cx = -1, int cy = -1, int nCanvasWidth = -1, int nCanvasHeight = -1);
static DWORD CALLBACK GetImageResourceData(LPSTR szBuffer, DWORD dwBufferMax, LPARAM lParam);
BOOL IsLoaded();
#ifdef _WIN32_WCE
static void CALLBACK ImageProgress( IImageRender *, BOOL, LPARAM);
#endif
static DWORD CALLBACK GetImageData( LPSTR, DWORD, LPARAM);
static DWORD CALLBACK GetImageDataP( LPSTR, DWORD, LPARAM);
static DWORD CALLBACK GetImageDataB( LPSTR, DWORD, LPARAM);
//BOOL SetBitmap(HDC hdc, DWORD dwResourceID, LPCTSTR pcszClass = TEXT("IMAGE"), HMODULE hModule = 0 );
DWORD GetWidth();
DWORD GetHeight();
BOOL Draw(HDC hdc, int x, int y, int cx = -1, int cy = -1);
BOOL Draw(HDC hdc, int x, int y, int cx, int cy,int sx,int sy,int scx,int scy);
//掩码的实现
//BOOL Sprite(HDC hdc,int x,int y,HBITMAP mask);
//BOOL DrawTranslucent(HDC hdc, int x, int y, int nPercent, int cx = -1, int cy = -1, COLORREF TransparentColor = RGB(192, 192, 192));
BOOL Load(HDC hdc, LPCTSTR pcszFileName);
//从文件的一段数据load图形
//BOOL Load(HDC hdc, HANDLE pcszFileName, DWORD start, DWORD len);
BOOL Load(HDC hdc, char* cSrc, DWORD start, DWORD len);
CVOImage();
virtual ~CVOImage();
operator HBITMAP() { return m_hbitmap; }
const CVOString& GetFileName() { return m_strFileName; }
HDC m_hdc;
protected:
CVOString m_strFileName; // Empty if loaded from resource
HMODULE m_hmoduleResource; // 0 if loaded from file
DWORD m_dwResourceID; // 0 if loaded from file
DWORD m_dwHeight;
DWORD m_dwWidth;
HBITMAP m_hbitmap;
static BOOL g_bStretchBlt;
static int g_iMaxHeight;
static int g_iMaxWidth;
static int g_iScale;
};
#endif // !defined(AFX_VOIMAGE_H__B83C4202_DB1E_48BE_92A5_21019F9EE6FC__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -