iOs - 图像缩放和放大图像

时间:2014-05-15 03:57:26

标签: ios image scaling

enter image description here

我的问题与计算位置有关。缩放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中的确切位置。它是以编程方式为图像缩放的。

2 个答案:

答案 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));