我正在一个图像可拖动的项目中工作。如果我将一个图像放在另一图像上,则必须更改图像。
 我需要的是
1)我要检查两个图像是否在同一位置。
2)图像的位置不能准确,可能大致相等

最佳答案

这是一种假设图像大小相同的方法

// using ints because it is easier for taking the abs value
int dx,dy;

dx = frame1.origin.x - frame2.origin.x;
dy = frame1.origin.y - frame2.origin.y;
dx = abs(dx);
dy = abs(dy);

// overlapping width and height
int ovHeight, ovWidth;

ovWidth = frame1.size.width-dx;
ovHeight = frame1.size.height-dy;

int ovArea = ovWidth*ovHeight;
int imageArea = frame1.width*frame1.height;

int percentOverlap = ovArea*100/imageArea;

if (percentOverlap > 80) {
  // do work here
}

10-08 14:00