比较 CGPoint 和图像中心属性

Posted

技术标签:

【中文标题】比较 CGPoint 和图像中心属性【英文标题】:Comparing CGPoint and image center property 【发布时间】:2012-03-24 23:27:49 【问题描述】:

我真的可以在这里得到一些帮助。在过去的几个小时里,我试图弄清楚如何比较 CGPoint 的值和图像的 center 属性。我假设这两个值是 x 和 y 坐标的形式。下面是我写的代码。

-(void) jigsawCompleted:(CGPoint) newcenter 

if(image1.center == newcenter &&
   image2.center == newcenter &&
   image3.center == newcenter &&
   image4.center == newcenter) 
    NSLog(@"success");



.......
.......
//if current touch is inside the rectangle
if (CGRectContainsPoint(snapToRect, location)) 
    touch.view.alpha = 1.0;
    //make a point with the coords below
    CGPoint newcenter = CGPointMake(78, 382);
    //assign the center coords of the current touch to this newly created point
    touch.view.center = newcenter;
    [self jigsawCompleted:newcenter];
    return;
 else 
    touch.view.alpha = 0.3;

当比较 jigsawCompleted 方法中的两个值时,我得到错误:二进制表达式的操作数无效('CGpoint'(又名'struct CGPoint')和'CGPoint')。

有什么帮助吗?

【问题讨论】:

【参考方案1】:

使用CGPointEqualToPoint()

if (CGPointEqualToPoint(image1.center, newCenter) && ...)

【讨论】:

【参考方案2】:

point 是一个包含 x 和 y 的结构。使用 CGPointEqualToPoint。比较一个点是否等于图像中心:

if (CGPointEqualToPoint(image1.center, newcenter)  ...

【讨论】:

【参考方案3】:

使用函数CGPointEqualToPoint

if (CGPointEqualToPoint(image1.center, newCenter) &&
    CGPointEqualToPoint(image2.center, newCenter) &&
    CGPointEqualToPoint(image3.center, newCenter) &&
    CGPointEqualToPoint(image4.center, newCenter)) 
// ...

【讨论】:

以上是关于比较 CGPoint 和图像中心属性的主要内容,如果未能解决你的问题,请参考以下文章

图像旋转的原理

图像旋转算法与实现

如何通过底部中心旋转图像?

如何在中心绘制文字到uiimage?

如何在iphone中获取gmsmapview的坐标中心

如何在iOS中给定中心点和角度画线?