?? colorlookuptable.h
字號:
// ColorLookUpTable.h: interface for the CColorLookUpTable class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COLORLOOKUPTABLE_H__0285AF4A_55D5_4F93_9773_EDADC6E67CC1__INCLUDED_)
#define AFX_COLORLOOKUPTABLE_H__0285AF4A_55D5_4F93_9773_EDADC6E67CC1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/*==============================================*
//
// 『顏色查找表』類
//
*===============================================*/
struct CColorNode
{//顏色表中的顏色節(jié)點
float pos; // 0~1 ,歸一化坐標(biāo)位置
COLORREF color;
CColorNode(float p=0.f,COLORREF clr=0):pos(p),color(clr){}
};
class CColorLookUpTable
{
public:
CColorLookUpTable();
~CColorLookUpTable();
void SetValueRange(float min, float max);
void GetValueRange(float &min, float &max);
COLORREF GetColor(float pos)const;
void SetColor(float pos, COLORREF newClr);
COLORREF LookUpColor(float v) const; //在顏色表中查詢v值的顏色
int InsertColorIntoTable(float pos, COLORREF newClr); //向顏色表中加入顏色節(jié)點(插入后保證pos從小到大排序)
void RemoveColorFromTable(float pos);//刪除顏色表中的顏色節(jié)點
void DrawColorSpectrum(CDC* pDC, const CRect& drawRect);//繪制顏色表的顏色譜
BOOL LoadColorTable(const CString& filePath );
BOOL SaveColorTable(const CString& filePath );
private:
void GradientRectangle(CDC* pDC, const CRect& drawRect,COLORREF clrStart,COLORREF clrEnd);
private:
CArray<CColorNode,CColorNode&> m_ColorTable; //顏色表(0~1內(nèi)的位置--->RGB顏色)
float m_ValueMin, m_ValueMax; //數(shù)值的范圍,該范圍內(nèi)的數(shù)值和顏色表內(nèi)的顏色相互對應(yīng)
private:
CColorLookUpTable& operator=(const CColorLookUpTable&);
CColorLookUpTable(const CColorLookUpTable&);
};
inline void CColorLookUpTable::SetValueRange(float min, float max)
{
ASSERT( min < max );
m_ValueMin = min;
m_ValueMax = max;
}
inline void CColorLookUpTable::GetValueRange(float &min, float &max)
{
min = m_ValueMin;
max = m_ValueMax;
}
#endif // !defined(AFX_COLORLOOKUPTABLE_H__0285AF4A_55D5_4F93_9773_EDADC6E67CC1__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -