将大量项目映射到较小的位置标记集

时间:2011-05-21 08:56:29

标签: c# algorithm

我有一组用户可以导航的顺序排列的图像。由于图像可以是任意数量,为了帮助导航,UI中有一个10图像(固定数字)缩略图条,用于映射原始图像集(序列号,例如Img_1到Img_569到等间距(尽可能多)尽可能将Thumb_1设置为Thumb_10(对应于10个缩略图).Thumb_1应对应Img_1,Thumb_10应对应Img_569。执行映射的最佳方法是什么。

2 个答案:

答案 0 :(得分:3)

int imgnum = 569;
int thumbmap [10];
for (int i = 0; i < 10; i++) thumbmap [i] = imgnum * i / 9;

thumbmap [i]是缩略图i的图像索引。 我

答案 1 :(得分:1)

我会做一个简单的映射,除非有令人信服的理由不

int imageCount = 569;
int thumbCount = 10;
float stepSize = (float)imageCount/(float)thumbCount; // use a float to avoid error accumulation

for(int i =0; i < thumbCount; i++)
{
    thumbs[i] = images[(int)(i*stepSize)];
}