我的问题与计算位置有关。缩放INNER IMAGE
中的FRONT END
,然后我需要找到BACKGROUND PROCESS
中相对位置。如果有任何一种体验请在这里分享,如等式或其他东西。
FRONT END
FRAME IMAGE
的尺寸为188x292(WidthxHeight)
和较大的FRAME IMAGE大小为500x750(WidthxHeight)。
INNER IMAGE
75x75(WidthxHeight)和更大INNER IMAGE
199.45x199.45(宽度x高度)
问题:当我缩放INNER IMAGE
中的FRONT END
时。那是75x75到100x100,那么我们有x和y的位置。我需要计算BACKGROUND PROCESS
中的确切位置。它是以编程方式为图像缩放的。
答案 0 :(得分:1)
在INNER IMAGE缩放后,您将拥有x和y位置,现在将其转换为%。
如果INNER IMAGE的位置是
relativeX = (x * 100)/frameImageWidth;
relativeY = (y * 100)/frameImageHeight;
背景的INNER IMAGE位置
x = (relativeX * backgroundFrameImageWidth)/100;
y = (relativeY * backgroundFrameImageHeight)/100;
答案 1 :(得分:1)
CGPoint foregroundLocation = CGPointMake(x, y);
static float xscale = BACKGROUND_IMAGE_WIDTH / FOREGROUND_IMAGE_WIDTH;
static float yscale = BACKGROUND_IMAGE_HEIGHT / FOREGROUND_IMAGE_HEIGHT;
CGPoint backgroundLocation = CGPointApplyAffineTransform(foregroundLocation, CGAffineTransformMakeScale(xscale, yscale));