⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 voimage.h

📁 Mobile平台下图像处理源代码,适合手机平台下的各种图像相关开发。
💻 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 + -