关于按钮控件上的文本的设计有关问题
关于按钮控件上的文本的设计问题。
这个帖子主要想问一下我下面的两种设计思路,哪一种更高效,更好。
先看一下目标效果:
这是一张256×512的文本的纹理图片
我的主要目是如何高效的定位某一个文本的纹理坐标.
【第1种设计方案】
用2维RECT类型数组来保存所有纹理坐标
【第2种设计方案】
用map容器来存储纹理坐标.
用哪种方式更好一点?
另外,我的这个设计思路可行么? 会很复杂么?
------解决方案--------------------
一个RECT数组就行了吧,用数组下标索引,最简单。
POINT和RECT在map里是啥关系?
------解决方案--------------------
应该使用map<wstring,RECT>吧,wstring是文本的内容,RECT是对应的区域,根据文本找到区域。
或者用unordered_map<wstring,RECT>,这是hash表,效率比map高一点。
------解决方案--------------------
------解决方案--------------------
这个帖子主要想问一下我下面的两种设计思路,哪一种更高效,更好。
先看一下目标效果:
这是一张256×512的文本的纹理图片
我的主要目是如何高效的定位某一个文本的纹理坐标.
【第1种设计方案】
用2维RECT类型数组来保存所有纹理坐标
- C/C++ code
struct stTextRect { stTextRect() { for (int i=0; i<35; i++) { for (int j=0; j<4; j++) { TextMatrix[i][j].top = i*13; TextMatrix[i][j].bottom = i*13+12; } } for (int i=0; i<35; i++) { TextMatrix[i][0].left = 0; TextMatrix[i][0].right = 17; TextMatrix[i][1].left = 20; TextMatrix[i][1].right = 53; TextMatrix[i][2].left = 60; TextMatrix[i][2].right = 109; TextMatrix[i][3].left = 115; TextMatrix[i][3].right = 180; } } RECT TextMatrix[35][4]; // 存储文本的RECT };
【第2种设计方案】
用map容器来存储纹理坐标.
- C/C++ code
struct stTextRect { map<POINT, RECT> TextRectMap; // POINT:矩阵索引 RECT:纹理坐标 };
用哪种方式更好一点?
另外,我的这个设计思路可行么? 会很复杂么?
------解决方案--------------------
一个RECT数组就行了吧,用数组下标索引,最简单。
POINT和RECT在map里是啥关系?
------解决方案--------------------
应该使用map<wstring,RECT>吧,wstring是文本的内容,RECT是对应的区域,根据文本找到区域。
或者用unordered_map<wstring,RECT>,这是hash表,效率比map高一点。
------解决方案--------------------
------解决方案--------------------