33,321
社区成员




ratioRow = OriginalRow/SampleRow;
ratioCol = OriginalCol/SampleCol;
float r,c;
int r1,r2,c1,c2;
float y1,y2,value;
for(int i=0;i<stdRow;i++)
{
for(int j=0;j<stdCol;j++)
{
//r和c的赋值语句分别占了6.2%和5.8%的性能
r = (i+0.5)*ratioRow-0.5;
c = (j+0.5)*ratioCol-0.5;
r1 = (int)r;
r2 = r1+1;
c1 = (int)c;
c2 = c1+1;
if(r1>=0&&r2<height&&c1>=0&&c2<width)
{
//下面求y1,y2,value各自占8%性能
y1 = ((c2-c)*buffer[r1*width+c1]+(c-c1)*buffer[r1*width+c2])/(c2-c1);
y2 = ((c2-c)*buffer[r2*width+c1]+(c-c1)*buffer[r2*width+c2])/(c2-c1);
value = ((r2-r)*y1+(r-r1)*y2)/(r2-r1);
sampleValues[i*stdCol+j] = value;
continue;
}
}
}