-1

如果我们有 2 个相同的图像。一个很小,一个很大。现在我们在小图像上有 xy 值

然后我们将如何将它映射到大图像上的相同位置。谁能用公式告诉我?

4

2 回答 2

3

我想你只是缩放它:

int bigX = smallX * (bigWidth / smallWidth);
int bigY = smallY * (bigHeight / smallHeight);

请注意,您可能希望使用浮点运算来避免整数运算问题:

int bigX = (int) (smallX * ((double) bigWidth / smallWidth));
int bigY = (int) (smallY * ((double) bigHeight / smallHeight));
于 2012-04-11T16:58:13.273 回答
1

只需使用比例。

Point bigpoint = new Point((int)(smallpoint.X * bigwidth/smallwidth), 
             (int)(smallpoint.Y * bigheight/smallheight));

// Assuming that Point smallpoint is the pixel of small image
于 2012-04-11T17:00:46.157 回答