我正在一个图像可拖动的项目中工作。如果我将一个图像放在另一图像上,则必须更改图像。
我需要的是
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
}